Am 23.02.2016 um 23:54 schrieb Brzrk One:
Ah! A clue!

Opening the load() output with PDFDebugger from 2.0RC3 complains of a Registry error: Feb 23, 2016 5:36:20 PM java.util.prefs.WindowsPreferences <init> WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002.
   Windows RegCreateKeyEx(...) returned error code 5.

Which I promptly ignored.

create the node "Software\JavaSoft\Prefs" in your registry. But the error is harmless.


Opening the loadNonSeq() output with PDFDebugger from 2.0RC3 includes the same Registry error, plus this diagnostic:

There is no such thing as "loadNonSeq() output with PDFDebugger from 2.0RC3". There is only "PDFDebugger from 2.0RC3" and no error comes from your file.


Feb 23, 2016 5:36:33 PM org.apache.pdfbox.filter.FlateFilter decode
SEVERE: FlateFilter: stop reading corrupt stream due to a DataFormatException

and the stack trace shown below in a dialog box whenever it attempts to display a Page object,
each due to:
    java.util.zip.DataFormatException: unknown compression method

The two output document structures are mostly the same, however for the loadNonSeq() output, the Info directory looks like it is still encoded:

Inline image 1

whereas, for the load() output, the Info directory looks decoded:
Inline image 2

Which page brought you this exception with the 2.0 PDFDebugger?

Tilman


Is this an decryption/re-encryption issue because of the /P setting?

Here's the stack trace:

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.io.IOException: java.util.zip.DataFormatException: unknown compression method
org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.done(PagePane.java:175)
sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:95)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: java.util.zip.DataFormatException: unknown compression method
org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.done(PagePane.java:164)
sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:95)
Caused by: java.io.IOException: java.util.zip.DataFormatException: unknown compression method
org.apache.pdfbox.filter.FlateFilter.decode(FlateFilter.java:82)
org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:69)
org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:163)
org.apache.pdfbox.pdmodel.PDPage.getContents(PDPage.java:148)
org.apache.pdfbox.pdfparser.PDFStreamParser.<init>(PDFStreamParser.java:92)
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:461)
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:445)
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:187)
org.apache.pdfbox.rendering.PDFRenderer.renderPage(PDFRenderer.java:208)
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:139)
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:68)
org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.doInBackground(PagePane.java:155)
org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.doInBackground(PagePane.java:138)
    java.lang.Thread.run(Thread.java:619)
Caused by: java.util.zip.DataFormatException: unknown compression method
    java.util.zip.Inflater.inflateBytes(Native Method)
    java.util.zip.Inflater.inflate(Inflater.java:238)
    java.util.zip.Inflater.inflate(Inflater.java:256)
org.apache.pdfbox.filter.FlateFilter.decompress(FlateFilter.java:104)
org.apache.pdfbox.filter.FlateFilter.decode(FlateFilter.java:73)
org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:69)
org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:163)
org.apache.pdfbox.pdmodel.PDPage.getContents(PDPage.java:148)
org.apache.pdfbox.pdfparser.PDFStreamParser.<init>(PDFStreamParser.java:92)
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:461)
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:445)
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:187)
org.apache.pdfbox.rendering.PDFRenderer.renderPage(PDFRenderer.java:208)
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:139)
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:68)
org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.doInBackground(PagePane.java:155)
org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.doInBackground(PagePane.java:138)
    java.lang.Thread.run(Thread.java:619)

On Tue, Feb 23, 2016 at 5:30 PM, Brzrk One <[email protected] <mailto:[email protected]>> wrote:

    Well, I'm looking at the output of our application code, which is
    unfortunately both proprietary and much more complicated than the
    command line utilities.

    After loading this document with loadNonSeq(), getting the
    warning, and continuing to do our processing (mostly adding
    annotations), the output contains all blank pages.

    The same processing code with load() produces output with content
    on all the pages.

    On Tue, Feb 23, 2016 at 4:22 PM, Tilman Hausherr
    <[email protected] <mailto:[email protected]>> wrote:

        Am 23.02.2016 um 22:19 schrieb Brzrk One:

            I get all that. I just don't see where in loadNonSeq() it
            is refusing to
            copy content.


        Not at all. It is really just a warning when opening.

        The refusal is in the command line utility source.


        Tilman


            On Tue, Feb 23, 2016 at 3:40 PM, Tilman Hausherr
            <[email protected] <mailto:[email protected]>>
            wrote:

                Am 23.02.2016 um 21:33 schrieb Brzrk One:

                    loadNonSeq() seems to respect it too?
                    sneaking in a bogus
                    AccessPermissions.canExtractContent() did not alter
                    this.
                    What does load() do that loadNonSeq() does not?
                    (Or vice versa.)

                They use different parsing strategies. Additionally, a
                difference is that
                loadNonSeq immediately decrypts, and brings up the
                warning.


                Tilman


                    On Tue, Feb 23, 2016 at 2:54 PM, Tilman Hausherr
                    <[email protected] <mailto:[email protected]>>
                    wrote:

                    Am 23.02.2016 um 20:44 schrieb Brzrk One:

                        The file is:

                            
http://www.bmv.com.mx/docs-pub/infoifrs/infoifrs_588674_2015-01_1.pdf

                            The file is indeed protected against text
                            extraction. Our command line

                        utilities respect this. The methods (of
                        PDFTextStripper) ignore it, they
                        expect you to handle it. See in the examples
                        source code how to extract
                        text.

                        Tilman



                        On Tue, Feb 23, 2016 at 12:05 PM, Tilman
                        Hausherr <[email protected]
                        <mailto:[email protected]>

                            wrote:

                            Am 23.02.2016 um 17:53 schrieb Brzrk One:

                                With pdfbox-1.8.11, using the
                                bottom-up parser (loadNonSeq) on a
                                document

                                    that has security ContentCopying:
                                    NotAllowed results in:

                                    
org.apache.pdfbox.pdfparser.NonSequentialPDFParser
                                    - PDF file
                                    'some_temp_file.pdf' does not
                                    allow extracting content

                                    And the output pages are all blank.

                                    The top-down parser (load) has no
                                    such issue.

                                    Is there a workaround?


                                    I looked in the source code, this
                                    warning comes only in the non

                                sequential
                                parser. There's a similar error
                                message in the ExtractText command line
                                utility ("You do not have permission
                                to extract text").

                                The best would be to upload the file
                                somewhere.

                                Tilman


                                
---------------------------------------------------------------------
                                To unsubscribe, e-mail:
                                [email protected]
                                <mailto:[email protected]>
                                For additional commands, e-mail:
                                [email protected]
                                <mailto:[email protected]>



                                
---------------------------------------------------------------------

                        To unsubscribe, e-mail:
                        [email protected]
                        <mailto:[email protected]>
                        For additional commands, e-mail:
                        [email protected]
                        <mailto:[email protected]>



                
---------------------------------------------------------------------
                To unsubscribe, e-mail:
                [email protected]
                <mailto:[email protected]>
                For additional commands, e-mail:
                [email protected]
                <mailto:[email protected]>




        ---------------------------------------------------------------------
        To unsubscribe, e-mail: [email protected]
        <mailto:[email protected]>
        For additional commands, e-mail: [email protected]
        <mailto:[email protected]>




Reply via email to