Hi,
> Am 08.03.2017 um 15:10 schrieb chitgoks <[email protected]>:
> 
> hi maruan
> 
> there is a PDAppearanceCharacteristicsDictionary at the bottom of the code
> before the widget is added to the annotations list

PDAppearanceCharacteristicsDictionary only defines settings for the creation of 
the appearance stream but doesn't create it. What you need is the content of 
the appearance stream.

Unfortunately I'm in the middle of a project so can't help much further at the 
moment.

What you could do if the form is opened in Adobe Acrobat or Reader is to set 
the NeedAppearances flag for the AcroForm. This will trigger Adobe 
Reader/Acrobat to build the appearance once the form is opened. This shall only 
be treated as a workaround as this will not work in most other readers or when 
rendering the form throufgh PDFBox or others.

I'll try to get something prepared tomorrow morning for you if you havn't found 
a solution by then.

BR
Maruan

> 
> i actually tested code posted in forums that said they worked but nothing
> gets shown. im using 2.0.4
> 
> thanks
> 
> On Wed, Mar 8, 2017 at 10:06 PM, Maruan Sahyoun <[email protected]>
> wrote:
> 
>> scanning quickly through your code it looks fine. But what is missing -
>> and that's the reason that you don't see anything - is the appearance
>> stream for the checkbox. The best thing is to look at a sample PDF and
>> replicate the appearance stream for that.
>> 
>> BR
>> Maruan
>> 
>>> Am 08.03.2017 um 14:57 schrieb chitgoks <[email protected]>:
>>> 
>>> hi tilman. i need help on checkbox creation. im creating a group of
>>> checkbox but the thing is, it does not show in pdf. i tried sample code i
>>> found even in stackoverflow but they do not get shown in pdf when viewed.
>>> 
>>> even if i add 1 checkbox nothing gets shown.
>>> 
>>> here is my code. please advise thank you
>>> 
>>> ------------------------------------------------------------
>> --------------------------------------------
>>> 
>>> f (pdfDocument.getDocumentCatalog().getAcroForm() == null) {
>>>   pdfDocument.getDocumentCatalog().setAcroForm(new
>>> PDAcroForm(pdfDocument));
>>> }
>>> 
>>> PDAcroForm cbAcroForm = pdfDocument.getDocumentCatalog().getAcroForm();
>>> PDCheckBox checkBox = new PDCheckBox(cbAcroForm);
>>> checkBox.setPartialName("cb");
>>> checkBox.setMappingName(checkBox.getPartialName());
>>> checkBox.getCOSObject().setString(COSName.DA, "/Helv 0 Tf 0 g");
>>> 
>>> // Replace yes value with checkbox value.
>>> COSBase yes = checkBox.getCOSObject().getDictionaryObject(COSName.YES);
>>> checkBox.getCOSObject().setItem("value here", yes);
>>> checkBox.getCOSObject().removeItem(COSName.YES);
>>> 
>>> cbAcroForm.getFields().add(checkBox);
>>> 
>>> PDAnnotationWidget cbWidget = new PDAnnotationWidget();
>>> cbWidget.setRectangle(location);
>>> cbWidget.setPage(pdPage);
>>> cbWidget.setModifiedDate(DateTool.convertDateToCalendar(
>> annotation.getDateModified()));
>>> cbWidget.getCOSObject().setString(COSName.NM,
>>> annotation.getComments().get(0).getUsername());
>>> cbWidget.setPrinted(true);
>>> 
>>> PDAppearanceCharacteristicsDictionary cbAppearance = new
>>> PDAppearanceCharacteristicsDictionary(new COSDictionary());
>>> cbAppearance.setBackground(Util.hex2PDColor("#000000"));
>>> cbAppearance.setBorderColour(Util.hex2PDColor("#ffffff"));
>>> 
>>> cbWidget.setAppearanceCharacteristics(cbAppearance);
>>> 
>>> pdPage.getAnnotations().add(cbWidget);
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
>> 


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

Reply via email to