[ 
https://issues.apache.org/jira/browse/PDFBOX-2525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14228171#comment-14228171
 ] 

Marcus Ilgner edited comment on PDFBOX-2525 at 11/28/14 9:16 AM:
-----------------------------------------------------------------

Just attached the two versions. Before (letterhead) and after (rechnung). To 
make things easy, I used an empty PDF document as the base to overlay on.

[~lehmi] I actually did look at OverlayPDF, too, but it uses the 
{{org.apache.pdfbox.util.Overlay}} class which only works with files, not 
in-memory. If push comes to shove, I'll need to write things to temporary files 
but would like to avoid the disk I/O if possible. Otherwise I'll look at the 
source and check whether it can be adapted to work with {{PDDocument}}, too.




was (Author: milgner):
Before (letterhead) and after (rechnung)

> Overlay: data black & white after import
> ----------------------------------------
>
>                 Key: PDFBOX-2525
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2525
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 1.8.7, 1.8.8, 2.0.0
>            Reporter: Marcus Ilgner
>         Attachments: evopark_rechnung_14_10-2.pdf, letterhead.pdf
>
>
> After overlaying two documents, everything in the source is black & white 
> only. I uploaded a screenshot to 
> https://oc.evopark.de/public.php?service=files&t=0d7e4e172c30c23b260d3c96cc4986b5
> May relate to PDFBOX-2401.
> Some more details: I'm doing everything in-memory, not operating on files. 
> This is the sample code:
> {code:java}
>     public static byte[] mergeOntoLetterhead(byte[] originalPdf) throws 
> IOException, COSVisitorException {
>         PDDocument pdf = PDDocument.load(new 
> ByteArrayInputStream(originalPdf));
>         if (pdf.getNumberOfPages() == 0) {
>             return originalPdf;
>         }
>         PDDocument template = readTemplate();
>         if (null != template) {
>             Overlay overlay = new Overlay();
>             pdf = overlay.overlay(template, pdf);
>         } else {
>             logger.error("Could not load letterhead PDF");
>             return originalPdf;
>         }
>         ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
>         pdf.save(outputStream);
>         return outputStream.toByteArray();
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to