I'm not sure I understand the issue you are facing. 

you could do something like

for the field:

COSDictionary fieldDict = PDField.getCOSObject();
fieldDict.setInt(COSName.getPDFName("DataPrep"),0);

for the widget:

COSDictionary barcodeDict  = new COSDictionary();
barcodeDict.setName(COSName.TYPE, "PaperMetaData");
barcodeDict.setInt(COSName.VERSION, 1);
barcodeDict.setName(COSName.getPDFName("Symbology"), "DataMatrix");
...

COSDictionnary annotsDict = PDAnnotationWidget.getCOSObject();
annotsDict.setItem(COSName.getPDFName("PMD"), barcodeDict);

...

BR
Maruan


 
> I think I was able to do it by copying the COSDictionary object directly (I
> found I can set it at the Widget level, not the PDField level).
> However, the question remains how can I create a COSDictionary from
> scratch, only using its textual value? Or should I keep a file with a
> Barcode field somewhere on the system and copy the value from it whenever I
> want to create such a field?
> 
> On Tue, Feb 25, 2020 at 8:14 PM Gilad Denneboom <gilad.denneb...@gmail.com>
> wrote:
> 
> > Thanks for your time and for the tips, Maruan.
> > That was my intention, but I couldn't find how to set the COSDictionary
> > value directly... In PDFBox 1.x this was possible, I believe, but I'm not
> > seeing it in the 2.x version.
> > 
> > On Tue, Feb 25, 2020 at 7:02 PM Maruan Sahyoun <sahy...@fileaffairs.de>
> > wrote:
> > 
> > > What I would suggest is to create a barcode with the settings you would
> > > like to see applied in Adobe Acrobat and recreate that
> > > in PDFBox. There is no high level API in PDFBox for that so you need to
> > > work with the field and the widget annotation
> > > COSDirectory directly.
> > > 
> > > You can start by creating a text field in PDFBox (as a barcode field is a
> > > subtype of that) and use getCOSObject() on the PD
> > > model field and widget object.
> > > 
> > > As for the calculation you need to inject the correct JS code (again I'd
> > > do some prototyping in Acrobat) into the action
> > > dictionaries.
> > > 
> > > From your response I get that you are aware that this will only work in
> > > Adobe Acrobat. To use it with Adobe Reader you need to
> > > ensure that the correct usage rights have been applied to the PDF before
> > > filling.
> > > 
> > > There is a reason that you are looking to create the PDF form with PDFBox
> > > right?
> > > 
> > > I've not done that before but feel free to ask further questions. My time
> > > is very limited these days but I'll try to help you as
> > > much as possible. Might also serve as a starter for an example.
> > > 
> > > BR
> > > Maruan
> > > 
> > > 
> > > 
> > > > Yes, that's correct.
> > > > 
> > > > The end user is going to use Acrobat. I'm aware that this will not work
> > > in
> > > > Reader without some special rights applied to the file, but that is not
> > > > currently a concern.
> > > > 
> > > > On Tue, Feb 25, 2020 at 5:39 PM Maruan Sahyoun <sahy...@fileaffairs.de>
> > > > wrote:
> > > > 
> > > > > Hi Gilad,
> > > > > 
> > > > > so if I understand you correctly you are creating a PDF form with
> > > PDFBox,
> > > > > maybe prefill it and later on a user is filling out
> > > > > the form interactively. Now some of the fields should contain a
> > > dynamic
> > > > > barcode with the value being calculated from some other
> > > > > fields values. Is that correct? What's the end users application for
> > > > > filling out the PDF?
> > > > > 
> > > > > BR
> > > > > Maruan
> > > > > 
> > > > > > The problem with that approach is that the image is static, while I
> > > want
> > > > > a
> > > > > > field whose value can be changed (based on the value of another
> > > field).
> > > > > > On Tue, Feb 25, 2020 at 4:30 PM PDF Developer
> > > <pdf...@yahoo.com.invalid>
> > > > > > wrote:
> > > > > > 
> > > > > > >  Hello Gilad,
> > > > > > > 
> > > > > > > I suppose you could define a form button and assign the
> > > appearance to
> > > > > be
> > > > > > > an image file, generated perhaps from Barcode4J. I use that trick
> > > in
> > > > > > > Acrobat Pro to add content to PDFs, content I have scanned to PDF.
> > > > > > > 
> > > > > > > I went down a different route and added barcodes as XObjects.
> > > Using the
> > > > > > > Okapi library, I wrote a very simple (no text) PDF Renderer based
> > > on
> > > > > their
> > > > > > > SVG one and took the output from that renderer and wrapped it as
> > > an
> > > > > XObject.
> > > > > > > PDFDev
> > > > > > > 
> > > > > > >     On Tuesday, February 25, 2020, 3:09:57 PM GMT, Gilad
> > > Denneboom <
> > > > > > > gilad.denneb...@gmail.com> wrote:
> > > > > > > 
> > > > > > >  Any ideas? I saw an old post of yours where you write that maybe
> > > this
> > > > > can
> > > > > > > be done with Barcode4J, but I think that would just generate the
> > > > > barcode as
> > > > > > > an image, not as a field.
> > > > > > > 
> > > > > > > On Sun, Feb 23, 2020 at 11:20 PM Gilad Denneboom <
> > > > > > > gilad.denneb...@gmail.com>
> > > > > > > wrote:
> > > > > > > 
> > > > > > > > DataMatrix
> > > > > > > > 
> > > > > > > > On Sun, Feb 23, 2020 at 3:41 PM Maruan Sahyoun <
> > > > > sahy...@fileaffairs.de>
> > > > > > > > wrote:
> > > > > > > > 
> > > > > > > > > Hi Gilad,
> > > > > > > > > 
> > > > > > > > > what type of barcode would you like to generate?
> > > > > > > > > 
> > > > > > > > > BR
> > > > > > > > > Maruan
> > > > > > > > > 
> > > > > > > > > > Hi all,
> > > > > > > > > > 
> > > > > > > > > > Does anyone have any pointers on how to create a Barcode
> > > field
> > > > > using
> > > > > > > > > PDFBox?
> > > > > > > > > > As far as I can see it's a text field, but with some special
> > > > > > > properties,
> > > > > > > > > > such as the PaperMetaData (PMD) object, and a calculation
> > > script
> > > > > with
> > > > > > > > > > specific JS code for copying the value from other fields.
> > > > > > > > > > I can handle the latter, but the former seems quite
> > > difficult to
> > > > > > > > > implement,
> > > > > > > > > > so any help would be appreciated.
> > > > > > > > > > 
> > > > > > > > > > Thanks in advance,
> > > > > > > > > > Gilad
> > > > > ---------------------------------------------------------------------
> > > > > > > > > To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org
> > > > > > > > > For additional commands, e-mail: users-h...@pdfbox.apache.org
> > > > > > > > > 
> > > > > > > > > 
> > > > > 
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org
> > > > > For additional commands, e-mail: users-h...@pdfbox.apache.org
> > > > > 
> > > > > 
> > > --
> > > Maruan Sahyoun
> > > 
> > > FileAffairs GmbH
> > > Josef-Schappe-Straße 21
> > > 40882 Ratingen
> > > 
> > > Tel: +49 (2102) 89497 88
> > > Fax: +49 (2102) 89497 91
> > > sahy...@fileaffairs.de
> > > www.fileaffairs.de
> > > 
> > > Geschäftsführer: Maruan Sahyoun
> > > Handelsregister: AG Düsseldorf, HRB 53837
> > > UST.-ID: DE248275827
> > > 
> > > 
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org
> > > For additional commands, e-mail: users-h...@pdfbox.apache.org
> > > 
> > > 
-- 
Maruan Sahyoun

FileAffairs GmbH
Josef-Schappe-Straße 21
40882 Ratingen

Tel: +49 (2102) 89497 88
Fax: +49 (2102) 89497 91
sahy...@fileaffairs.de
www.fileaffairs.de

Geschäftsführer: Maruan Sahyoun
Handelsregister: AG Düsseldorf, HRB 53837
UST.-ID: DE248275827


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

Reply via email to