Expand my Community achievements bar.

Data population into 2D barcodes in LiveCycle 9 forms

Avatar

Former Community Member

I am building a form that populates the data entered into text fields, drop-down lists, etc. into a 2D data matrix barcode.  The form has a "Wecome Page" where the user selects what sub-form they want to complete.  I have actions created that cause all the sub-forms to be disabled and invisible until that sub-form is selected.  Once it is selected all other sub-forms are set to remain disabled and invisible.  After the selected sub-form is completed the user clicks on the "Print Button" and the sub-form is printed with the data populated into the 2D barcode.  Currently as the selected sub-form is being filled in, tabbing to the next field is slow (about 3 to 5 seconds) becuase the data is going directly to the barcode.  Is there a way to have the data popluated into the barcode before the sub-form is printed in order to improve the performace?

Thank you

11 Replies

Avatar

Former Community Member

If you are using the calculate script generated by the PaperFormsBarcode object and attempting to encode all the form/sub-form data, the performance issue is not a surprise unfortunately. The script is iterating over every field in the data DOM each every time a calculate event fires for each and every field. I would recommend a custom script for PaperFormsBarcode encoding.

Steve

Avatar

Former Community Member

Would it be possible to disable the barcode object or the data collection for the sub-form until the "Print Button" is clicked?  So, in that case once the "Print Button" click event happens it then enables the object or collection and it is populated with the correct data before the sub-form is actually printed.

Avatar

Former Community Member

Yes. You might consider putting the barcode encoding script in a script object and calling the script on print. However, there is problem moving the barcode encoding script off the barcode calculate event - guaranteeing the barcode data is current. If you attach the call to the custom script on another event you have to take steps to optimize the likelihood that the event fires.

Steve

Avatar

Former Community Member

Side question: what are the requirements (apart from Adobe Reader) in order to use 2D barcoded forms? Do the forms have to be reader extended? Do you need an LC server with the 2D Barcode module?

Avatar

Former Community Member

Yes, I am using LiveCycle Designer to create the form.  Then utilizing the Reader Extensions Server to allow the barcode to function properly in the Reader application.  We were put down this path by Adobe because the forms will go out to more users than what the Adobe Acrobat Extended applicaiton would be able to license.  Otherwise, I would have just used that application and not had to worry about the whole LiveCycle Server Suite.

Avatar

Former Community Member

Do the forms have to be reader extended?

If the form is going to be filled using Adobe Reader the barcoded form has to be Reader-extended using LiveCycle Reader Extensions. If the form is going to be filled using Acrobat the barcoded form does NOT have to be Reader-extended.

One important change in LiveCycle ES2 was the elimination of a separate license for the barcoded forms Reader-extension credential. In ES2 when you purchases LiveCycle Reader Extensions ES2 the license includes barcoded forms.

Do you need an LC server with the 2D Barcode module?

If you satisfy the form fill requirements (Reader-extended form is filled with Reader or non Reader-extended form is filled with Acrobat), the barcode can be read and decoded using any capable hardware (hand-held scanner for example) or software (third-party document imaging and scanning solutions).

There is one caveat to the statement, above. There is an attribute in the PaperFormsBarcode object to enable the compression of the barcode data. If you select to compress data before encoding, third-party decoders will NOT be able to decode the barcode. Third-party decoder will not recognize the compression or have the decompression algorithm.

Untitled.png

If you have a paper-to-digital business problem and you don't have an existing third-party imaging and scanning solution, LiveCycle Barcoded Forms ES2 is the solution. LiveCycle Barcoded Forms ES2 is the server component that provides decoding.

Steve

Avatar

Former Community Member

jbyars09,

There is a solution to your problem. Please forward your form to stwalker.adobe@gmail.com. I would be happy to take a look and provide recommendations.

Steve

Avatar

Former Community Member

Thanks Steve for a really thorough answer that ought to be on the first page of the module description.

Would it change anything if the barcode is not to be filled out by the client (i.e generated run-time), but generated by the server upon each form request (information such as form id, date, form owner, archive info and so on)?

Avatar

Former Community Member

Yes, it is possible to do form pre-population on the server and have that pre-populated data encoded in the barcode.

What's the workflow? Are you distributing a flat-form (non-interactive) or will other parts of the form be filled by users with Reader?

Steve

Avatar

Former Community Member

Hi again Steve, and thanks for the response.

The workflow is an interactive form which will be completed by the customer.

Do correct me if I'm wrong - I want to be absolutely sure I got this right:

As far as I understand, a viable option would be to generate the barcode on the server, using data which is also used to pre-populate the form. The server should then be able to stream the form to the client WITHOUT reader extending it, and the client should be able to see the barcode, complete the form and print it using plain Adobe Reader.

If I however want the barcode to be generated from data entered interactively into the form, I have three options:

a) Reader extend the form before streaming it to the client.

b) Make sure the client fills out the form using Acrobat Pro.

c) Have the client complete the form (without barcode) and submit it to the LC server, which could then generate a new form WITH barcode and return it (as for instance an PDF/A) to the client.

None of the options above require the LC 2D Barcode module, as the LC 2D Barcode module is only needed when decoding an already existing bar code.

How am I doing so far? :>

Avatar

Former Community Member

You are spot on.

Note for scenario c, "Have the client complete the form (without barcode) and submit it to the LC server, which could then generate a new form WITH barcode and return it (as for instance an PDF/A) to the client."

You could return an interactive PDF to the user with a barcode as long as their are no fields bound to the barcode.

Steve