[ 
https://issues.apache.org/jira/browse/PDFBOX-2525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Lehmkühler resolved PDFBOX-2525.
----------------------------------------
    Resolution: Fixed

The solution is to use the new overlay class instead of the deprecated one.

The new class had an issue with very small float values. The new class used 
under some circumstances a floating point representation of small float values 
which led to a malformed pdf. I've fixed that and now everything works fine.

Thanks for the report

> 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
>            Assignee: Andreas Lehmkühler
>             Fix For: 1.8.9, 2.0.0
>
>         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