I see... Let me ask it differently. Can I take the COSDictionary of an existing field, clone it as a new variable and then apply it to another field so that the latter is not a duplicate of the original former? I was pretty much able to do it, but I end up with a duplicate field, although I was able to (partially) change its name. So if the original field was called "BARCODE" and I set COSName.T of the new field to "BARCODE2" I end up with a field called "BARCODE2.BARCODE", and I can't seem to change its calculation script, either.
On Tue, Feb 25, 2020 at 11:42 PM Maruan Sahyoun <sahy...@fileaffairs.de> wrote: > from the Adobe extensions to the PDF spec. > > https://www.adobe.com/devnet/pdf/pdf_reference.html > > > https://www.adobe.com/content/dam/acom/en/devnet/pdf/adobe_supplement_iso32000.pdf#page13 > > > > > Am 25.02.2020 um 23:16 schrieb Gilad Denneboom < > gilad.denneb...@gmail.com>: > > > > Where did you get these values from? I'm not seeing "DataMatrix" > anywhere > > in the COSDictionary of the Barcode field, for example. > > > >> On Tue, Feb 25, 2020 at 9:32 PM Maruan Sahyoun <sahy...@fileaffairs.de> > >> wrote: > >> > >> 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 > >> > >> >