[
https://issues.apache.org/jira/browse/PDFBOX-2830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14585186#comment-14585186
]
John Hewson commented on PDFBOX-2830:
-------------------------------------
Hmm... the pattern name _is_ the last element of a color array in a PDF, so
it's not correct for toCOSArray() to remove it. The mistake was adding it when
it is null, so instead a null-check is needs to be placed around that last line.
> Can't draw color border around a PDTextBox + create example
> -----------------------------------------------------------
>
> Key: PDFBOX-2830
> URL: https://issues.apache.org/jira/browse/PDFBOX-2830
> Project: PDFBox
> Issue Type: Bug
> Components: AcroForm, PDModel
> Affects Versions: 2.0.0
> Reporter: Tilman Hausherr
> Assignee: Tilman Hausherr
> Labels: regression
> Fix For: 2.0.0
>
> Attachments: exampleForm.pdf
>
>
> There's a thread "Setting a border color on a PDTextBox" in the user mailing
> list. This relates to version 1.8.*, but I wanted to create an example for
> 2.0. After doing this for 2.0 with this code
> {code}
> PDAppearanceCharacteristicsDictionary fieldAppearance =
> new PDAppearanceCharacteristicsDictionary(new
> COSDictionary());
> PDColor green = new PDColor(new float[] { 0, 1, 0 },
> PDDeviceRGB.INSTANCE);
> fieldAppearance.setBorderColour(green);
> widget.setAppearanceCharacteristics(fieldAppearance);
> {code}
> it didn't work. The reason is this in the PDF:
> {code}
> 5 0 obj
> <<
> /FT /Tx
> /T (SampleField)
> /Type /Annot
> /Subtype /Widget
> /Rect [50.0 750.0 250.0 800.0]
> /MK 7 0 R
> /V (English form contents)
> /AP 8 0 R
> >>
> endobj
> 6 0 obj
> <<
> /Font 9 0 R
> >>
> endobj
> 7 0 obj
> <<
> /BC [0.0 1.0 0.0 null] <===================
> >>
> endobj
> {code}
> The /BC color array has an extra null element which comes from a
> "patternName" in PDColor:
> {code}
> public COSArray toCOSArray()
> {
> COSArray array = new COSArray();
> array.setFloatArray(components);
> array.add(patternName);
> return array;
> }
> {code}
> Removing it in the PDF brings a "good" file. I believe this is a regression
> that came from changing PDGamma to PDColor some time ago in PDFBOX-2629.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]