Kenneth -

in TrueTypeFont.java, search for the line

    public GeneralPath getPath(String name) throws IOException

and replace it with

    public synchronized GeneralPath getPath(String name) throws IOException

Or set yourself as a watcher in this issue:
https://issues.apache.org/jira/browse/PDFBOX-2824

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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to