> 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Œð™"ßçÈœlaŽ.ð†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 doesnt
>>> // 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]