Sure thing. You can find the code and an input and output file here: https://drive.google.com/open?id=15C3G_F8Fz4EIlMCkn50NUGCA_SRRsKYg
On Wed, Feb 26, 2020 at 12:05 AM Maruan Sahyoun <sahy...@fileaffairs.de> wrote: > Yes, could you share some of the code or a sample PDF? > > > Am 25.02.2020 um 23:48 schrieb Gilad Denneboom < > gilad.denneb...@gmail.com>: > > > > 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 > >>>> > >>>> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org > For additional commands, e-mail: users-h...@pdfbox.apache.org > >