Hi,
> Am 11.10.2016 um 11:29 schrieb Gilad Denneboom <[email protected]>:
>
> Here's what I have so far (I skipped the scaling part, just to see if I can
> get any kind of results...):
>
> // - load your image as a PDXObjectImage
> BufferedImage bImg = ImageIO.read(new
> File(imageFilePath));
> PDXObjectImage image = new PDJpeg(doc, bImg);
> COSStream s = image.getCOSStream();
>
> // - create a PDXObjectForm with the image as a
> resource entry
> PDXObjectForm objectForm = new PDXObjectForm(s);
> PDResources resources = new PDResources();
> resources.addXObject(objectForm, "Im0");
> objectForm.setResources(resources);
>
> // - put that into the /I key of the fields MK entry
>
> f.getWidget().getAppearanceCharacteristics().getDictionary().setItem(COSName.I,
> objectForm);
>
> // - add the PDXObjectForm you created above to the
> Resources Entry of the appearance stream
> PDAppearanceStream ap = (PDAppearanceStream)
> f.getWidget().getAppearance().getNormalAppearance().get("default");
> Map<String, PDXObject> xobjectsMap =
> ap.getResources().getXObjects();
> xobjectsMap.put("FRM", objectForm);
>
> f.getWidget().getAppearance().getNormalAppearance().put("default", ap);
>
> Do you see what I'm doing wrong, because the button is still blank when I
> open the edited file? …
from the code you are not setting the appearance stream content. So the
definitions are in place but they are not used.
BR
Maruan
> I got the keys ("Im0", "FRM") from inspecting a sample file I created in
> Acrobat.
>
> On Tue, Oct 11, 2016 at 10:26 AM, Maruan Sahyoun <[email protected]>
> wrote:
>
>> Hi,
>>
>>> Am 11.10.2016 um 10:07 schrieb Gilad Denneboom <
>> [email protected]>:
>>>
>>> Thank for the info, Maruan. I implemented some of what you've described
>>> already, and will try to do the rest next...
>>> Maybe this is a a good "feature" request for future versions?
>>
>> yes it is - and I'm planning to add that if I find the time but I'm
>> currently very limited.
>>
>> If you'd like to share some of your code please do so - would be good to
>> have a new ticket for that by then.
>>
>> Maruan
>>
>>
>>
>>>
>>> On Tue, Oct 11, 2016 at 8:30 AM, Maruan Sahyoun <[email protected]>
>>> wrote:
>>>
>>>> Hi Gilad,
>>>>
>>>>> Am 10.10.2016 um 23:28 schrieb Gilad Denneboom <
>>>> [email protected]>:
>>>>>
>>>>> I posted this question to SO
>>>>> <http://stackoverflow.com/questions/39958843/how-to-
>>>> import-an-icon-to-a-button-field-in-a-pdf-using-pdfbox>,
>>>>> but thought I might get better traction here...
>>>>>
>>>>> I'm looking for a way to set the normal appearance of a button field
>> in a
>>>>> PDF file to an image file, but am not finding any information about
>> this
>>>>> process. The closest I could find was the opposite, ie how to extract
>> an
>>>>> icon from a button field to a stand-alone image file, here: How can i
>>>>> extract image from button icon in PDF using Apache PDFBox?
>>>>> <http://stackoverflow.com/questions/33295483/how-can-i-
>>>> extract-image-from-button-icon-in-pdf-using-apache-pdfbox>
>>>>
>>>> currently PDFBox doesn't have a high level API to set that. The easiest
>> is
>>>> to create a sample with Acrobat and recreate that.
>>>>
>>>> The basics steps are
>>>>
>>>> - load your image as a PDXObjectImage
>>>> - create a PDXObjectForm with the image as a resource entry
>>>> - put that into the /I key of the fields MK entry
>>>>
>>>> Now this gives you the "Design" part so Readers can use that to
>> regenerate
>>>> the appearance stream. At that point in time the Icon is not yet
>> visible as
>>>> it's not part of the appearance stream
>>>>
>>>> For the appearance stream
>>>>
>>>> - add the PDXObjectForm you created above to the Resouces Entry of the
>>>> appearance stream
>>>> - call the PDXObjectForm in the appearance stream with a transformation
>>>> matrix before to scale the PDXObjectForm to fit the buttons dimension.
>>>>
>>>> BR
>>>> Maruan
>>>>
>>>>
>>>>
>>>>>
>>>>> Thanks in advance!
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> 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]
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]