pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kirk, Kenneth" <Kk...@ILSOS.NET>
Subject RE: PDFRederer PdfBox-2.0
Date Thu, 04 Jun 2015 20:19:11 GMT
I placed a synchronization block around the renderImageWithDPI method and the problem goes
away but since this method can take some time to complete it slows the whole process down.
This problem happens right away and just after the so many documents.  I will try with a different
set of documents as I think the ones I am working were created using IText.
-----Original Message-----
From: Tilman Hausherr [mailto:THausherr@t-online.de] 
Sent: Thursday, June 04, 2015 2:33 PM
To: users@pdfbox.apache.org
Subject: Re: PDFRederer PdfBox-2.0

I have opened https://issues.apache.org/jira/browse/PDFBOX-2824 . 
Amusingly / tragically, I have the same problem and I'm a committer here. I did try setting
"synchronized" at a few suspicious places, but it didn't help. My problem is that the error
happens only about every 50 build. Can you provoke the error with one or several non confidential
files? That would be helpful.

Tilman

Am 04.06.2015 um 21:20 schrieb Kirk, Kenneth:
> I have a client application that convert pdf documents into single page tiff images.
 Since the user export large quantities of documents I use a multithreaded approach.  Each
thread loads it own document and converts the pages one by one.
> The pdf file is serialized to the client thread and then each thread executes the following
code.  If I only use 1 thread there is no problem.  I checked to make sure objects are shared
between threads.
>
>              docin = PDDocument.load(new ByteArrayInputStream(documentResult.getImage().getContent()),true);
>              if(null==docin)
>                throw new Exception("Invalid PDF document or an occured during retrieval");
>                 int numPages = docin.getNumberOfPages();
>                       String strPath = getPath(numPages);
>                       int iPage = 0;
>              PDFRenderer renderer = new PDFRenderer(docin);
>              for (int i=0;i<numPages;i++)
>              {
>                PDPage page = docin.getPage(i);
>                PDRectangle rect = page.getMediaBox();
>                BufferedImage pageImage = null;
>                pageImage = renderer.renderImageWithDPI(i, 200f, ImageType.BINARY);
>                ...
>              }
>
> Array index out of range: 8
>         at org.apache.fontbox.ttf.GlyfSimpleDescript.readFlags(GlyfSimpleDescript.java:202)
>         at org.apache.fontbox.ttf.GlyfSimpleDescript.<init>(GlyfSimpleDescript.java:77)
>         at org.apache.fontbox.ttf.GlyphData.initData(GlyphData.java:58)
>         at org.apache.fontbox.ttf.GlyphTable.getGlyph(GlyphTable.java:161)
>         at org.apache.pdfbox.rendering.TTFGlyph2D.getPathForGID(TTFGlyph2D.java:140)
>         at org.apache.pdfbox.rendering.TTFGlyph2D.getPathForCharacterCode(TTFGlyph2D.java:92)
>         at org.apache.pdfbox.rendering.PageDrawer.drawGlyph2D(PageDrawer.java:333)
>         at org.apache.pdfbox.rendering.PageDrawer.showFontGlyph(PageDrawer.java:314)
>         at org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:731)
>         at org.apache.pdfbox.contentstream.PDFStreamEngine.showText(PDFStreamEngine.java:690)
>         at org.apache.pdfbox.rendering.PageDrawer.showText(PageDrawer.java:296)
>         at org.apache.pdfbox.contentstream.PDFStreamEngine.showTextStrings(PDFStreamEngine.java:600)
>         at org.apache.pdfbox.contentstream.operator.text.ShowTextAdjusted.process(ShowTextAdjusted.java:38)
>         at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:802)
>         at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:464)
>         at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:438)
>         at org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
>         at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:179)
>         at org.apache.pdfbox.rendering.PDFRenderer.renderPage(PDFRenderer.java:205)
>         at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:136)
>         at org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:95)
>         at org.ilsos.cm.export.client.rmi.workers.Pdf2SinglePageTiff.processResult(Pdf2SinglePageTiff.java:142)
>         at org.ilsos.cm.export.client.rmi.ExportWorker.run(ExportWorker.java:72)
>         at java.lang.Thread.run(Thread.java:784)
>
>
>
>
>
>
>
>
>
> ************************************************
> Disclaimer - This email and any files transmitted with it are confidential and contain
privileged or copyright information. You must not present this message to another party without
gaining permission from the sender. If you are not the intended recipient you must not copy,
distribute or use this email or the information contained in it for any purpose other than
to notify the Office of the Illinois Secretary of State.
>
> If you have received this message in error, please notify the sender immediately, and
delete this email from your system. Any views expressed in this message are those of the individual
sender, except where the sender specifically states them to be the views of the Office of
the Illinois Secretary of State.
> ************************************************
>
>
>
>
>
>
>
>
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org









************************************************
Disclaimer - This email and any files transmitted with it are confidential and contain privileged
or copyright information. You must not present this message to another party without gaining
permission from the sender. If you are not the intended recipient you must not copy, distribute
or use this email or the information contained in it for any purpose other than to notify
the Office of the Illinois Secretary of State. 

If you have received this message in error, please notify the sender immediately, and delete
this email from your system. Any views expressed in this message are those of the individual
sender, except where the sender specifically states them to be the views of the Office of
the Illinois Secretary of State. 
************************************************












---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


Mime
View raw message