> On 11 Aug 2016, at 11:44, Tilman Hausherr <[email protected]> wrote:
> 
>> Am 10.08.2016 um 15:51 schrieb Oleg Krechowezki:
>> fyi
>> 
>>> Begin forwarded message:
>>> 
>>> From: Oleg Krechowezki <[email protected]>
>>> Subject: Re: Bug in NonSequentialPDFParser, v2.0
>>> Date: 10 August 2016 at 15:47:50 GMT+2
>>> To: Andreas Lehmkuehler <[email protected]>
>>> 
>>> Hallo Andreas,
>>> 
>>> ich habe bei mir den Issue gefixt:
>>> COSName.NAMES Objekte können JavaScript enthalten, die von Adobe Reader 
>>> auch sofort ausgeführt werden. Das Test Doc hast Du erhalten:
> 
> It's not clear what's the problem, and what's the solution. Javascript names 
> are already forbidden to contain javascript since PDFBOX-1754, although it 
> was only fixed in 2.0.
> 
> You also mention "PDType0Font hat ebenfalls einen NPE Bug - in 
> getFontWidth()" but this method doesn't exist.

That's an old 1.8 API.

> Tilman
> 
> 
>>> …
>>> 37 0 obj[36 0 R]endobj38 0 obj<</JavaScript 39 0 R>>endobj39 0 
>>> obj<</Names[(docOpened)40 0 R]>>endobj40 0 obj<</S/JavaScript/JS 42 0 
>>> R>>endobj41 0 obj 319endobj42 0 obj<</Length 41 0 
>>> R/Filter[/FlateDecode]>>stream
>>> H‰tRAjÃ0<Ûà?lu²¡Ø9J¯}Ã:ÚÄ*Šd¤UB(ùCŸÜ•\C’RÍìŒF8c08ZöÙ‚ËD<Q 
>>> í÷éDŽaÂ#‘?“#h¡¾‚à<7µŒ€q·€…²iê¦>$·gã]´Àm×Ô_ù¨2‡öQ/[P)áTBªªaxŒð™"ßçÈœl­aŽ.ð†Lm·Yá˜÷r”ØØ~ƱnÕé4h=\e©WÐ]É
>>>     OK|#1è,wþò—€óÜ£¥À­Ú>q®Î¸(À"+CVg½Z"ñdb$~Ïx«Øk¼–ˆªëÏhSŽZö%S¹½ˆK’§¦dx.
>>> ¢¸Š£§è¾ùW’<¢qMý¤ZëÍanò‘ô_Óë?–-ª[Î&ì=Zò“Ü?-¬ïÝÔw¨Øý0 š¹
>>> endstreamendobj43 0 obj<</Length 3427/Type/Metadata/Subtype/XML>>stream
>>> ...
>>> 
>>> dieser JS wird von Adobe (leider) bedenkenlos ausgeführt:
>>> // variable to store whether document has been opened already or not
>>> var bAlreadyOpened;
>>> 
>>> function docOpened()
>>> {
>>> 
>>>    if(bAlreadyOpened != "true")
>>>    {
>>>        // document has just been opened
>>>        var d = new Date();
>>>        var sDate = util.printd("mm/dd/yyyy", d);
>>> 
>>>                // set date now
>>>                app.alert("About to insert date into field now");
>>>        this.getField("todaysDate").value = sDate;
>>> 
>>>        // now set bAlreadyOpened to true so it doesnt
>>>        // run again
>>> bAlreadyOpened = "true";
>>>    }
>>>    else
>>>    {
>>>        // document has already been opened
>>>    }
>>> }
>>> 
>>> // call the docOpened() function
>>> docOpened();
>>> 
>>> 
>>> 
>>> Daher muss im dazugehörigen COSObjekt der Dictionary geprüft werden:
>>> 
>>> …
>>>                if (entry.getKey().equals(COSName.NAMES)) {
>>>                    COSObject value = (COSObject)entry.getValue();
>>>                    boolean hasJs = 
>>> value.getDictionaryObject(COSName.JAVA_SCRIPT) != null;
>>> 
>>> …
>>> 
>>> Bitte bei Euch einbauen, damit andere davon profitieren können.
>>> 
>>> Viele Grüsse,
>>> Oleg
>>> 
>>> 
>>>> On 09 Aug 2016, at 16:22, Oleg Krechowezki <[email protected]> wrote:
>>>> 
>>>> Hallo Andreas,
>>>> 
>>>> ich habe einen weiteren Bug in preflight V1.8.12 entdeckt.
>>>> 
>>>> JavaScript wird im PDF nicht entdeckt - siehe Anhang.
>>>> 
>>>> PDType0Font hat ebenfalls einen NPE Bug - in getFontWidth().
>>>> 
>>>> Viele Grüsse,
>>>> Oleg
>>>> 
>>>>> On 03 Oct 2013, at 14:57, Andreas Lehmkuehler <[email protected]> wrote:
>>>>> 
>>>>> Hallo Oleg,
>>>>> 
>>>>> ich habe deinen Fix in den aktuellen Trunk eingearbeitet, siehe [1].
>>>>> 
>>>>> Nochmals danke für deine Hilfe.
>>>>> 
>>>>> Viele Grüße aus Essen,
>>>>> Andreas
>>>>> 
>>>>> [1] https://issues.apache.org/jira/browse/PDFBOX-1737
>>>>> Am 24.09.2013 23:50, schrieb Oleg Krechowezki:
>>>>>> Hallo Andreas,
>>>>>> 
>>>>>> hier ein Test-Dokument.
>>>>>> 
>>>>>> Bitte vertraulich behandeln.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Danke und Gruss,
>>>>>> Oleg
>>>>>> 
>>>>>>> On Sep 24, 2013, at 10:52 PM, Andreas Lehmkuehler <[email protected]> 
>>>>>>> wrote:
>>>>>>> 
>>>>>>> Hallo Oleg,
>>>>>>> 
>>>>>>> 
>>>>>>> Am 24.09.2013 22:47, schrieb Oleg Krechowezki:
>>>>>>>> Hallo Andreas,
>>>>>>>> 
>>>>>>>> ich verwende seit kurzem die PDF-Box lib.
>>>>>>>> Bei bestimmten Dokumenten, die von Büro-Scannern erzeugt werden, kam 
>>>>>>>> es zu Parsing Exception:
>>>>>>>> 
>>>>>>>> ..
>>>>>>>> Caused by: java.io.IOException: Error: Expected a long type, 
>>>>>>>> actual='xref'
>>>>>>>>    at 
>>>>>>>> org.apache.pdfbox.pdfparser.BaseParser.readLong(BaseParser.java:1668)
>>>>>>>>    at 
>>>>>>>> org.apache.pdfbox.pdfparser.BaseParser.readObjectNumber(BaseParser.java:1598)
>>>>>>>>    at 
>>>>>>>> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseXrefObjStream(NonSequentialPDFParser.java:458)
>>>>>>>> 
>>>>>>>> Nach einer genauer Analyse zeigte sich, dass die Dokumente einen 
>>>>>>>> falschen Offset für den Start der xref Tabelle zeigen - statt auf den 
>>>>>>>> "x" zeigte der Offset auf Zeilenumbruch - erst dann folgte "x" bzw 
>>>>>>>> "xref". Deshalb scheiterte der in der else Condition aufgerufene " 
>>>>>>>> prev = parseXrefObjStream(prev);".
>>>>>>>> 
>>>>>>>> Der Issue ist leicht lösbar:
>>>>>>>> In NonSequentialPDFParser.java, Zeile 339, muss "skipSpaces();" vor 
>>>>>>>> "if (pdfSource.peek() == 'x')" vorangestellt werden.
>>>>>>>> 
>>>>>>>> Viele Grüsse,
>>>>>>>> Oleg
>>>>>>> Eigentlich wickeln wir alle Fehlermeldung über unsere Mailinglisten [1] 
>>>>>>> bzw.
>>>>>>> JIRA [2] ab, aber das kann ich ausnahmsweise später noch nachtragen. 
>>>>>>> Kannst du
>>>>>>> mir vielleicht ein Test-PDF zur Verfügung stellen, damit ich den Fehler
>>>>>>> nachvollziehen kann? Bei Bedarf kann ich das auch unter Verschluss 
>>>>>>> halten.
>>>>>>> 
>>>>>>> Auf jeden Fall schon einmal vielen Dank für deine Mithilfe. Vielleicht 
>>>>>>> bleibst
>>>>>>> du ja am Ball, wir können immer zusätzliche Mitstreiter gebrauchen
>>>>>>> 
>>>>>>> BR
>>>>>>> Andreas
>>>>>>> 
>>>>>>> [1] http://pdfbox.apache.org/mailinglists.html
>>>>>>> [2] https://issues.apache.org/jira/browse/PDFBOX
>>>> <ppjslc_commonex_js.pdf>
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

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

Reply via email to