You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Xin Lin (JIRA)" <ji...@apache.org> on 2018/04/23 15:02:00 UTC
[jira] [Commented] (PDFBOX-4200) DataFormatException: invalid code
lengths set when rendering image
[ https://issues.apache.org/jira/browse/PDFBOX-4200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16448279#comment-16448279 ]
Xin Lin commented on PDFBOX-4200:
---------------------------------
I dug a little deeper and, instead of the characters between stream and endstream, PDFBox seems to think what I pasted below is a stream and tried to decompress it and that apparently is the cause of the exception:
ΣðÔ-rÑqá¸r‘.d.Œ_xp¡ÔUÛ•ãZëúÌM×?çvÄmÄÝØ=Ùý¸û+K‘G‹Ç”§“çÏ^ˆ—¯W‘W¯·’÷bïjï§>:>‰>?>¾v¾«}/øaýývúÝó×ðçú×ûO8¬ è
¤FV>2 uÃÁÁ»‚/Ò_$\ÔBüCv…< 5]ús.,4¬&ìy¸Ux~xw-bEDCÄ»H?ÈÒÈG‹?KwFÉGÅEÕGME{E—EK—X,Y³äFŒZŒ ¦={$vr©÷ÒÝK‡ãìâ
ãî.3\–³ìÚrµå©ËÏ®?_ÁYq*ßÿ‰Â©åL®ô_¹wåד»‡û’çÆ+ç?ñ]øeü‘—„²„ÑD—Ä]‰cI®IIãOAµàu²_ò?ä©”?”£)3©Ñ©Íi„´ø´ÓB%aŠ°+]3='½/Ã4£0CºÊiÕîU¢@Ñ‘L(sYf»˜ŽþLõHŒ$›%ƒY³j²ÞgGeŸÊQÌæôäšänËÉóÉû~5f5wug¾vþ†üÁ5îk…Ö®\Û¹Nw]Áºáõ¾ë?m mHÙðËFË?eßnŠÞÔQ Q°¾`h³ïæÆB¹BQá½-Î[lÅllíÝf³jÛ—"^ÑõbËâŠâO%Ü’ëßY}WùÝÌö„í½¥ö¥ûwàwÜÝéºóX™bY^ÙЮà]åÌò¢ò·»Wì¾Va[q`i?d?´2¨²½J¯jGÕ§ê¤ê??šæ½ê\{·í?ÚÇÛ׿ßmÓ?Å>¼È÷PkAmÅaÜá¬ÃÏë¢êº¿g_DíHñ‘ÏG…G¥ÇÂ?uÕ;Ô×7¨7”6Â?’ƱãqÇoýàõC{«éP3£¹ø8!9ñâÇøïž<ÙyŠ}ªé'ýŸö¶ÐZŠZ¡ÖÜÖ‰¶¤6i\{L{ßé€Ó?Î-?›ÿ|ôŒö™š³ÊgKÏ‘Îœ›9Ÿw~òBÆ…ñ‹‰‡:Wt>º´äÒ?®°®ÞË?—¯^ñ¹r©Û½ûüU—«g®9];}?}½í†ý?Ö»ž–_ì~iéµïm½ép³ý–㎾}çú]û/Þöº}åŽÿ?‹úî.¾\{ÿ^Ü=é}ÞýÑ©^?Ìz8ýhýcìã¢'
O*žª?ýÕø×f©½ôì ×`ϳˆg?†¸C/ÿ•ù¯OÃÏ©Ï+F´FêGGÏŒùŒÝz±ôÅðËŒ—Óã…¿)þ¶÷•Ñ«Ÿ~wû½gbÉÄðkÑë™?JÞ¨¾9úÖömçdèäÓwi獵ŠÞ«¾?ö?ý¡ûcôÇ‘éìOøO•Ÿ??w| üòx&mfæß÷„óû
endstream
endobj
18 0 obj
2612
endobj
9 0 obj
[ /ICCBased 17 0 R ]
endobj
19 0 obj
<< /Length 20 0 R /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>
stream
x…U[ˆUþ“9É
»ÎÓÚÕ-¤C½t)»K¶Ý¥´š[“´k²ÙÕA³““dÌì$ÎLÒ}*‚â‹«¾IA¼½‚ÒzÁÖûR©PVwë"(>´xA(ôE·ñ;“d&Yj›eÏ|óýßùo矢?µB½®û¢%Ã6sɨòÜÑcÊÀ:ùé!¤Q,¨V=’ÍÎ~B+®ý¿[??O0W'îlïWo¹,rK%òݾV´Ô%àD?³jÝ´‰†ÁO·ë‹†Mü¢Àå6†?†Ûø5G“ÏÅ 9,«•Bxx|±‡/÷àvPÀO’ÜÔTEô"kÖJšÎC{¹‡¹Gy7¸¤7P³óÛ?uȪÎÆuµ¿R,Äž^Q‰9àG€¯5µ…Lß®ÛÑðcDþ??ê|x7pªdœ†¿Yi¤ºø?S•ü³à·?ÿÆXÌéì]SzI;Áß®ð´èoˆHR4;?†é€YË =r?JEO ?¿^9À§ô™Õœ¼ÈgíT%&òüå—
óá*ú*å6?!¾'«ÕOšZ¹b+\{Âá'>}\Iêä¸RÐuÅ1YŠÉ-n6yq’ÄwSì#º™s¾‡¾mW<Î~†hÿ_x÷}ïqÇD+ÑÈã7†wåï?{Bm˜Í¶?òù¾#²J{÷8÷¾¡(Þ_?·Z7ñx‹hóÍVëŸ÷[Íàƒè‚þ Ÿ|U
If I put a breakpoint at line 70 in FlateFilter.java (int read = in.read(buf);) and consume that input stream 'in' in a debugger, the image is rendered with no error and it even looked fine. (no discernible differences between the image and the PDF).
> DataFormatException: invalid code lengths set when rendering image
> ------------------------------------------------------------------
>
> Key: PDFBOX-4200
> URL: https://issues.apache.org/jira/browse/PDFBOX-4200
> Project: PDFBox
> Issue Type: Bug
> Components: Rendering
> Affects Versions: 2.0.7, 2.0.8, 2.0.9
> Reporter: Xin Lin
> Priority: Major
> Attachments: invalid.pdf
>
>
> When rendering image from the attached pdf, an exception was thrown and below is the relevant stack trace:
> java.util.zip.DataFormatException: invalid code lengths set
> at java.util.zip.Inflater.inflateBytes(Native Method) ~[?:1.8.0_121]
> at java.util.zip.Inflater.inflate(Inflater.java:259) ~[?:1.8.0_121]
> at java.util.zip.Inflater.inflate(Inflater.java:280) ~[?:1.8.0_121]
> at org.apache.pdfbox.filter.FlateFilter.decompress(FlateFilter.java:108) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.filter.FlateFilter.decode(FlateFilter.java:74) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.filter.Filter.decode(Filter.java:87) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:77) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:175) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:163) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:236) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.loadICCProfile(PDICCBased.java:124) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.<init>(PDICCBased.java:98) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.create(PDColorSpace.java:192) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.pdmodel.PDResources.getColorSpace(PDResources.java:199) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.pdmodel.PDResources.getColorSpace(PDResources.java:169) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.contentstream.operator.color.SetNonStrokingColorSpace.process(SetNonStrokingColorSpace.java:41) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:848) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:503) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:477) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:150) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:246) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:225) ~[pdfbox-2.0.9.jar:2.0.9]
> at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:138) ~[pdfbox-2.0.9.jar:2.0.9]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org