You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Travis Schneeberger (JIRA)" <ji...@apache.org> on 2017/06/08 16:26:18 UTC

[jira] [Commented] (PDFBOX-3752) PDVariableText text color changes to be the same as the background color after flattening

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

Travis Schneeberger commented on PDFBOX-3752:
---------------------------------------------

Retested and this is resolve for me too.  Thank you so much.

> PDVariableText text color changes to be the same as the background color after flattening
> -----------------------------------------------------------------------------------------
>
>                 Key: PDFBOX-3752
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3752
>             Project: PDFBox
>          Issue Type: Bug
>          Components: AcroForm
>    Affects Versions: 2.0.5
>            Reporter: Travis Schneeberger
>            Assignee: Maruan Sahyoun
>             Fix For: 2.0.6, 3.0.0
>
>         Attachments: fdpAttachment2-example-flattened.pdf, fdpAttachment2-example-not-flattened.pdf, fdpAttachment2.pdf
>
>
> PDVariableText text color changes to be the same as the background color after flattening.  This effectively makes the text hidden and appear to be lost. 
>  This includes field types such as ListBox and TextField.  I don't believe I have tested a combo box.
> For example:
> {code}
>         try(PDDocument pdfDocument = PDDocument.load(new File("/Users/travis/Desktop/fdpAttachment2.pdf"))) {
>             final PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
>             final PDAcroForm acroForm = docCatalog.getAcroForm();
>             final PDField textField = acroForm.getField("Subaward Number");
>             textField.setValue("12345");
>             final PDField listBoxField = acroForm.getField("Contact for carryforward");
>             listBoxField.setValue("Administrative Contact");
>             //when flattening with refreshAppearances, a NPE will occur if each widget doesn't have a
>             //PDAppearanceDictionary instance with a normal PDAppearanceEntry instance set PDFBOX-3751
>             pdfDocument.getDocumentCatalog().getAcroForm().getFields()
>                     .stream()
>                     .flatMap(f -> f.getWidgets().stream())
>                     .filter(w -> w.getAppearance() == null)
>                     .forEach(w -> {
>                         final PDAppearanceDictionary appearance = new PDAppearanceDictionary(new COSDictionary());
>                         appearance.setNormalAppearance(new PDAppearanceEntry(new COSDictionary()));
>                         w.setAppearance(appearance);
>                     });
> pdfDocument.getDocumentCatalog().getAcroForm().flatten(pdfDocument.getDocumentCatalog().getAcroForm().getFields(), true);
>             pdfDocument.save("/Users/travis/Desktop/fdpAttachment2-example-flattened.pdf");
>         }
> {code}
> Notice in the attached fdpAttachment2-example-flattened.pdf, the fields are correctly set but the text is not visible.
> If I execute the same code but do not flatten, the text is visible for certain field types in certain pdf viewers.  See attached fdpAttachment2-example-not-flattened.pdf
> In Adobe Acrobat Reader DC build 15.23.20056.213124 the "Subaward Number" field shows up but only when clicking on the field.  When using the Preview app in MacOS Sierra, it is visible.  In both apps the "Contact for carryforward" list box shows the text "Administrative Contact"
> As a side note I wonder if the behavior of the "Subaward Number" in relation to different pdf views may be related to a difference problem.  I think the real issue here is the text color.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org