Tilman wrote:
>
> From: Tilman Hausherr [mailto:[email protected]] 
> Sent: Thursday, June 11, 2015 4:27 PM
> To: [email protected]
> 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.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to