Hi all, I'm using iText (1.4.1) to extract pages from existing PDF files. I have upgraded to a recent release (2.0.5) and a big slow down appeared.
I tried to test each release since 1.4.1 and found the performances issues began with 1.4.5 (maybe caused by the changes listed in release notes as "used a MappedByteBuffer instead of a RandomAccessFile" ?) For example, extracting 1759 pages from a 167Mb/75000 pages PDF takes 40s with iText 1.4.4 and 170s with iText 1.4.5 to 2.0.5 (no differences between 2.0.4 and 2.0.5 in spite of RandowAccessFileOrArray changes) the test code I used : /** * @param inf input file * @param p1 first page to extract * @param p2 last page to extract * @param ouf output file */ public void split(File inf, int p1, int p2, File ouf) throws Exception { FileOutputStream fos = new FileOutputStream(ouf); Document doc = new Document(); // use a RandomAccessFileOrArray to limit memory size // during extraction PdfReader reader = new PdfReader( new RandomAccessFileOrArray(inf.getAbsolutePath()), null); PdfCopy writer = new PdfCopy(doc, fos); document.open(); for(int pageno=p1; pageno<=p2; pageno++){ PdfImportedPage page = writer.getImportedPage( reader, pageno); writer.addPage(page); } doc.close(); writer.close(); fos.close(); } Regards, Eric ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ iText-questions mailing list iText-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://itext.ugent.be/itext-in-action/