[
https://issues.apache.org/jira/browse/PDFBOX-4294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16592859#comment-16592859
]
Adrian Sandor commented on PDFBOX-4294:
---------------------------------------
Some comments about the MyOverlay class I attached:
* the code is much shorter and simpler
* it doesn't do any loading or closing whatsoever, that is left to the user
* the input document is attached at construction
* the main methods to use are: getLayoutPage, processPage and resetDoc;
LayoutPage inner class is public
* processPage processes only one page at a time, and takes an AffineTransform
argument for full and easy customization
* overlays can be added in any order, and the document is usable at any point;
there is no special handling for "all pages", first/last/even/odd pages, nor
any map of page numbers to file names; the user can just add overlays as they
wish
* resetDoc reverts to the original document without reloading
* page numbers are 0-based (as they should be)
> Scratch file already closed when redoing overlay
> ------------------------------------------------
>
> Key: PDFBOX-4294
> URL: https://issues.apache.org/jira/browse/PDFBOX-4294
> Project: PDFBox
> Issue Type: Bug
> Components: Utilities
> Affects Versions: 2.0.11
> Reporter: Adrian Sandor
> Priority: Major
> Attachments: MyOverlay.java
>
>
> Here's some sample code to reproduce the problem:
>
> {code:java}
> final String path = "orig.pdf";
> final String stampPath = "stamp.pdf";
> final PDDocument doc = PDDocument.load(new File(path));
> final Overlay o = new Overlay();
> o.setInputPDF(doc);
> o.setOverlayPosition(Position.FOREGROUND);
> final HashMap<Integer, String> m = new HashMap<>();
> m.put(0, stampPath);
> PDDocument res = o.overlay(m);
> res.close();
> res = o.overlay(m);
> {code}
> Basically I'm doing an overlay, closing the resulting document, then doing it
> again (normally I would make some changes first, but I didn't include that
> for the sake of brevity).
> The last line throws java.io.IOException: Scratch file already closed
> If I remove "res.close()" then the code works, but if I do the overlay
> multiple times, I get warnings like: org.apache.pdfbox.cos.COSDocument -
> Warning: You did not close a PDF Document
> which suggests that I should actually close the document when I'm done with
> it.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]