Tilman wrote: >From: Tilman Hausherr [mailto:[email protected]] >Sent: Friday, June 12, 2015 2:41 PM >To: [email protected] >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:[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. > >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: [email protected] For additional commands, e-mail: [email protected]

