You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Andreas Lehmkühler (JIRA)" <ji...@apache.org> on 2014/12/23 18:14:13 UTC
[jira] [Resolved] (PDFBOX-2525) Overlay: data black & white after
import
[ 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)