Duarte Alexandre created PDFBOX-1504: ----------------------------------------
Summary: Split document issue Key: PDFBOX-1504 URL: https://issues.apache.org/jira/browse/PDFBOX-1504 Project: PDFBox Issue Type: Bug Affects Versions: 1.7.1 Reporter: Duarte Alexandre I've seen a bug trying to split pages of a pdf document. For example, I got a 5 pages pdf document and I try to create a document with pages 4 to 5. I set startPage to 3 and endPage to 5 (also tried to set page number to 3) but it creates a document with pages 3 to 4 and a other one with page 5. I analysed a little bit the problem and it looks like it comes from the value of pageNumber variable in Splitter.class. This is how I solved it (rewriting 3 methods) : @Override protected void processPages(List pages) throws IOException { Iterator iter = pages.iterator(); while( iter.hasNext() ) { PDPage page = (PDPage)iter.next(); pageNumber++; if (pageNumber >= getStartPage() && pageNumber <= getEndPage()) { processNextPage( page ); } else { if (pageNumber > getEndPage()) { break; } } } } @Override protected void processNextPage( PDPage page ) throws IOException { createNewDocumentIfNecessary(); PDPage imported = currentDocument.importPage( page ); imported.setCropBox( page.findCropBox() ); imported.setMediaBox( page.findMediaBox() ); // only the resources of the page will be copied imported.setResources( page.getResources() ); imported.setRotation( page.findRotation() ); } @Override protected boolean isNewDocNecessary() { return (pageNumber % getSplitAtPage() == 0 && pageNumber != getEndPage()) || currentDocument == null; } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira