pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maruan Sahyoun <sahy...@fileaffairs.de>
Subject Re: How to get: isOptimized, hasCompressedStreamObjects, allowsCommenting ?
Date Wed, 05 Dec 2012 15:35:25 GMT
Hi Johan,

to best of my knowledge

a) Fast Web View / Linearization
 PDFBox doesn't have specific code for linearization so something like isLinearized() or isFastWebView()
is not available. In order to find out for yourself if a pdf is linearized you can look up
the existence of a linearization parameter dictionary which must exist within the first 1024
bytes of the pdf. The layout is like this:

<< /Linearized 1.0 % Version
	/L 54567 % File length
	/H [475 598]  % Primary hint stream offset and length (part 5)
	/O 45 % Object number of first page’s page object (part 6)
	/E 5437 % Offset of end of first page
	/N 11 % Number of pages in document 
	/T 52786 % Offset of first entry in main cross-reference table (part 11) 

The complete spec can be found in Annex F of  ISO-32000

b) Compressed stream objects
PDFBox does deal with compressed stream objects just fine. Unfortunately there is currently
no document info I know of which is set if a compressed stream object is encountered.

c) Commenting
Please review

With kind regards

Maruan Sahyoun

> Hi, am still hoping for help on if PDFBox can determine these attributes. Thanks again
----- Original Message -----
> | Hi All,
> | How can I determine in Java if a PDF file matches these requirements?
> | • The file is optimized for Fast Web Viewing.
> | • The file does not contain compressed stream objects.
> | • The Document restrictions allow Commenting. // Am using
> | ap.canModifyAnnotations()

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message