jorisschellekens / borb

borb is a library for reading, creating and manipulating PDF files in python.

Home Page:https://borbpdf.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KeyError: 'OCGs'

ranga-tolapi opened this issue · comments

Describe the bug
For an existing PDF document, doc["XRef"]["Trailer"]["Root"]["OCGs"] giving an error KeyError: 'OCGs'

To Reproduce
Execute the below python code snippet on the enclosed sample pdf.

import typing
from borb.pdf import Document
from borb.pdf import PDF

def main():

    # read the Document
    doc: typing.Optional[Document] = None
    with open(r"D:\Temp\usa.pdf", "rb") as in_file_handle:
        doc = PDF.loads(in_file_handle)

    # check whether we have read a Document
    assert doc is not None

    print("OCGs: %s" % doc["XRef"]["Trailer"]["Root"]["OCGs"])

if __name__ == "__main__":
    main()

Expected behaviour
Expected to see a List of OCG layers.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows
  • borb version: 2.1.10
  • input PDF: usa.pdf

Hi @ranga-tolapi,

This is the issues tab of borb. Please do not confuse this page with Stackoverflow.

If you have found a bug in the library, or you would like to request a feature, you are welcome to use this page. But your questions are more of the type "why is my code not working".

I have already pointed you towards the examples and the PDF specification. In particular 8.11.2 of the specification deals with optional content groups, and it will tell you exactly which keys you can query.

Keep in mind these keys might not be mandatory. A document without OCGs may not have the dictionary at all.

Kind regards,
Joris Schellekens