pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Ternes <KTer...@thegeneral.com>
Subject RE: Setting a border color on a PDTextBox
Date Mon, 15 Jun 2015 13:45:02 GMT
Tilman wrote:
>From: Tilman Hausherr [mailto:THausherr@t-online.de] 
>Sent: Friday, June 12, 2015 2:41 PM
>To: users@pdfbox.apache.org
>Subject: Re: Setting a border color on a PDTextBox
>
>Am 12.06.2015 um 18:59 schrieb Kevin Ternes:
>> Tilman wrote:
>>> From: Tilman Hausherr [mailto:THausherr@t-online.de]
>>> Sent: Thursday, June 11, 2015 4:27 PM
>>> To: users@pdfbox.apache.org
>>> Subject: Re: Setting a border color on a PDTextBox
>>>
>>> Am 11.06.2015 um 22:44 schrieb Kevin Ternes:
>>>> I am using PDFBox 1.8.9 to change an existing PDF.
>>>> The requirement is to change an existing field so that the text is Helvetica
Bold and bordered with a given color.
>>>> A mockup of the desired PDF is here:
>>>>       
>>>> https://dl.dropboxusercontent.com/u/3103884/dev/PdfBoxMockupCapture.
>>>> png
>>>>
>>>>      Given PDDocument pdDocument...:
>>>>
>>>>      PDDocumentCatalog catalog = pdDocument.getDocumentCatalog();
>>>>      PDAcroForm pdAcroForm = catalog.getAcroForm();
>>>>      PDField pdField = pdAcroForm.getField(fieldName);
>>>>
>>>>      COSDictionary pdFieldDictionary = pdField.getDictionary();
>>>>      COSString defaultAppearance = (COSString) pdFieldDictionary.getDictionaryObject(COSName.DA);
>>>>      if (defaultAppearance != null) {
>>>>          pdFieldDictionary.setString(COSName.DA, "/HeBo 9 Tf 0 g");
>>>>      }
>>>>
>>>>      PDGamma pdGamma = new PDGamma();
>>>>      pdGamma.setR(0);
>>>>      pdGamma.setG(1);
>>>>      pdGamma.setB(0);
>>>>      PDAppearanceCharacteristicsDictionary pdApDict = new PDAppearanceCharacteristicsDictionary(pdFieldDictionary);
>>>>      pdApDict.setBorderColour(pdGamma);
>>>>
>>>>      PDTextbox pdTextBox = new PDTextbox(pdAcroForm, pdFieldDictionary);
>>>>      PDAppearance pdAppearance = new PDAppearance(pdAcroForm, 
>>>> pdTextBox);
>>>>      
>>>> pdAppearance.setAppearanceValue(PDLayoutAttributeObject.BORDER_STYLE
>>>> _S
>>>> OLID);
>>>>
>>>> I am getting the Helvetica Bold change but I am missing the colored border.
>>>> Can anyone tell me what I am missing or doing wrong?
>>> Try this:
>>>
>>> http://qnalist.com/questions/4842300/form-elements-not-visible
>>> PDAnnotationWidget fieldAnnot = pdTextBox.getWidget(); 
>>> fieldAnnot.setAppearanceCharacteristics(pdApDict);
>>>
>>> Tilman
>>
>> That is not working for me either.
>> I stole all the code on the referenced qnalist page (see below) but I still do not
get the solid colored border that I am looking for.
>>
>>     PDDocumentCatalog catalog = pdDocument.getDocumentCatalog();
>>     PDAcroForm pdAcroForm = catalog.getAcroForm();
>>     PDField pdField = pdAcroForm.getField(fieldName);
>>     COSDictionary pdFieldDictionary = pdField.getDictionary();
>>     PDTextbox pdTextBox = new PDTextbox(pdAcroForm, pdFieldDictionary);
>>     PDAnnotationWidget fieldAnnot = pdTextBox.getWidget();
>> 	
>>     PDAppearanceCharacteristicsDictionary fieldAppearance = new PDAppearanceCharacteristicsDictionary(new
COSDictionary());
>>     PDGamma colourGreen = new PDGamma();
>>     colourGreen.setR(0);
>>     colourGreen.setG(1);
>>     colourGreen.setB(0);
>>     fieldAppearance.setBorderColour(colourGreen);
>>     PDBorderStyleDictionary fieldBorderStyle = new PDBorderStyleDictionary();
>>     fieldBorderStyle.setStyle(PDBorderStyleDictionary.STYLE_SOLID);
>>     fieldBorderStyle.setWidth(2f);
>>     fieldAnnot.setAppearanceCharacteristics(fieldAppearance);
>>     fieldAnnot.setBorderStyle(fieldBorderStyle);
>>
>> If anyone can give me another hint, it would be much appreciated.
>
>Could you please open the created PDF with an editor like NOTEPAD++ and post the readable
part? What I'm interested is the parts with /MK and with /BC:
>
>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]   <===========================
> >>
>endobj
>
>Tilman
>

I cut out the part between the /MK right before the field of interest and the first BC after
that.
Thanks for looking at this for me! The whole PDF is here in case you need it:
  https://dl.dropboxusercontent.com/u/3103884/dev/PdfBox-Output-1.pdf

/MK 43 0 R
/P 41 0 R
/Rect [58.1228 566.0 250.123 583.0]
/Subtype /Widget
/T (Named Insured)
/Type /Annot
/V (PDFBox User M. Ockup)
/BS 44 0 R
>>
endobj
10 0 obj
<<
/AP <<
/N 45 0 R
>>
/DA (/TimesNewRoman 11 Tf 0 g)
/F 4
/FT /Tx
/Ff 4194304
/MK <<
>>
/P 41 0 R
/Rect [58.1228 545.0 250.123 563.0]
/Subtype /Widget
/T (Named Insured Address)
/Type /Annot
>>
endobj
11 0 obj
<<
/AP <<
/N 46 0 R
>>
/DA (/TimesNewRoman 11 Tf 0 g)
/F 4
/FT /Tx
/Ff 4194304
/MK <<
>>
/P 41 0 R
/Rect [58.1228 525.0 249.123 543.0]
/Subtype /Widget
/T (Named Insured City State)
/Type /Annot
>>
endobj
12 0 obj
<<
/AP <<
/N 47 0 R
>>
/DA (/TimesNewRoman 11 Tf 0 g)
/F 4
/FT /Tx
/Ff 4194304
/MK <<
>>
/P 41 0 R
/Q 2
/Rect [266.123 562.0 293.123 580.0]
/Subtype /Widget
/T (AddVehicleYear)
/Type /Annot
>>
endobj
13 0 obj
<<
/AP <<
/N 48 0 R
>>
/DA (/TimesNewRoman 11 Tf 0 g)
/F 4
/FT /Tx
/Ff 4198400
/MK <<
>>
/P 41 0 R
/Rect [300.123 562.0 532.123 580.0]
/Subtype /Widget
/T (AddVehicleMakeModel)
/Type /Annot
>>
endobj
14 0 obj
<<
/AP <<
/N 49 0 R
>>
/DA (/TimesNewRoman 11 Tf 0 g)
/F 4
/FT /Tx
/Ff 4194304
/MK <<
>>
/P 41 0 R
/Rect [301.123 540.0 530.123 557.0]
/Subtype /Widget
/T (AddVehicleVIN)
/Type /Annot
>>
endobj
15 0 obj
<<
/AA <<
/F 50 0 R
/K 51 0 R
>>
/AP <<
/N 52 0 R
>>
/DA (/Arial 11 Tf 0 g)
/F 4
/FT /Tx
/Ff 4194304
/MK <<
>>
/P 41 0 R
/Rect [437.123 407.0 534.123 420.0]
/Subtype /Widget
/T (BinderLiabilityLimitPer)
/Type /Annot
>>
endobj
16 0 obj
<<
/AA <<
/F 53 0 R
/K 54 0 R
>>
/AP <<
/N 55 0 R
>>
/DA (/Arial 11 Tf 0 g)
/F 4
/FT /Tx
/Ff 4194304
/MK <<
>>
/P 41 0 R
/Rect [437.123 390.0 534.123 404.0]
/Subtype /Widget
/T (BinderLiabilityLimitAcc)
/Type /Annot
>>
endobj
17 0 obj
<<
/AA <<
/F 56 0 R
/K 57 0 R
>>
/AP <<
/N 58 0 R
>>
/DA (/Arial 11 Tf 0 g)
/F 4
/FT /Tx
/Ff 4194304
/MK <<
>>
/P 41 0 R
/Rect [437.123 373.0 533.123 387.0]
/Subtype /Widget
/T (BinderLiabilityLimitPro)
/Type /Annot
>>
endobj
18 0 obj
<<
/AA <<
/F 59 0 R
/K 60 0 R
>>
/AP <<
/N 61 0 R
>>
/DA (/TimesNewRoman 9 Tf 0 g)
/F 4
/FT /Tx
/Ff 4194304
/MK <<
>>
/P 41 0 R
/Q 2
/Rect [133.015 273.323 197.34 286.296]
/Subtype /Widget
/T (Collded)
/Type /Annot
>>
endobj
19 0 obj
<<
/AP <<
/D <<
/Off 62 0 R
/Yes 63 0 R
>>
/N <<
/Off 64 0 R
/Yes 65 0 R
>>
>>
/AS /Off
/BS <<
/S /I
/W 1
>>
/DA (/ZaDb 10 Tf 0 g)
/F 4
/FT /Btn
/MK <<
/BC [0.0 0.0 0.0]


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


Mime
View raw message