Tomasz Pawlak created PDFBOX-3103:
-------------------------------------
Summary: Slow performance when printing PDF (fix provided)
Key: PDFBOX-3103
URL: https://issues.apache.org/jira/browse/PDFBOX-3103
Project: PDFBox
Issue Type: Improvement
Components: FontBox
Affects Versions: 2.0.0
Reporter: Tomasz Pawlak
When printing a PDF document (4 pages, 177KB, link below) using command
{code}
java -jar pdfbox-app-2.0.0-RC1.jar PrintPDF test.pdf
{code}
processing of the document before print takes about 15 seconds on system with
Core i5-4670 processor.
Most of the time is wasted on reading font files from system. The reason is
that the font is read byte by byte in an unbuffered manner. The defective code
is located in class {code}org.apache.fontbox.ttf.RADDataStream{code}, where new
instance of {code}RandomAccessFile{code} is created without buffering.
I prepared a buffer wrapper over {code}RandomAccessFile{code} that adds
buffering to {code}RandomAccessFile{code}. Use of the buffer in
{code}RADDataStream{code} shortens printing time *5 times*, i.e., printing
takes 3 seconds instead of 15s.
The wrapper class is augmented version of a class released at
https://code.google.com/p/jmzreader/wiki/BufferedRandomAccessFile (Apache
License 2.0).
Please integrate provided fix with original source of FontBox.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]