How to generate barcode and sign document using Java
How to generate barcode and sign document using Java
Leave feedback
On this page
Barcodes represent textual information as a quite small image that could be automatically scanned. Such an approach brings new opportunities in the computer processing of documents like sorting or moving through a business workflow. In this article, we will discuss useful ways to sign electronic documents with data encrypted in Bar or QR codes using Java.
Native Java API for Electronic Signatures
GroupDocs.Signature for Java provides API for signing a wide range of document formats. Moreover, API includes special abilities for additional document content processing. Supported formats are PDF, Microsoft Word, Microsoft PowerPoint, Microsoft Excel, PNG, JPEG, and many others.
It is a common problem to add additional data to various types of business documents. Such a document may look as in the picture below. One of the most useful ways is to place a barcode directly on the document page.
Signing a document with a Codabar in Java
To generate a barcode and sign a particular document with it:
Instantiate the Signature class providing a path to the source document or document stream.
A document signed with a Codabar might look like in the picture below. The Codabar format was developed for printed documents and might be useful in office document flow.
The Barcode Generator Online App provides an opportunity to try document signing with barcodes for free.
Barcode and image generation in Java
Another way to improve documents is to generate the barcode first and then add it to documents using third-party tools. For this case, it is possible to generate code as an image.
Create the BarcodeSignOptions class instance and set up all the demanded fields.
Instantiate the PreviewSignatureOptions object, passing a PageSignatureStreamFactory implementation that creates and releases the output stream.
Invoke the static Signature.generateSignaturePreview method to write the barcode image to the stream.
Use the resultant barcode image in any possible way.
finalByteArrayOutputStreamresult=newByteArrayOutputStream();// setup barcode signature options
BarcodeSignOptionssignOptions=newBarcodeSignOptions();signOptions.setEncodeType(BarcodeTypes.Code93);signOptions.setText("Case 148.01");// instantiate preview options
PreviewSignatureOptionspreviewOptions=newPreviewSignatureOptions(signOptions,newPageSignatureStreamFactory(){@OverridepublicOutputStreamcreateSignatureStream(PreviewSignatureOptionsoptions){returnresult;}@OverridepublicvoidcloseSignatureStream(PreviewSignatureOptionsoptions,OutputStreamsignatureStream){// the stream stays open: the image is read from it below
}});previewOptions.setPreviewFormat(PreviewFormats.PNG);// generate image to stream
Signature.generateSignaturePreview(previewOptions);// use the image, for example save it to a file
Files.write(Paths.get("barcode.png"),result.toByteArray());
An image containing the generated barcode might look in this way:
Get a Free API License
In order to use the API without evaluation limitations, you can get a free temporary license.
Conclusion
To sum up, some useful ways of processing documents and barcodes were discussed in this article. Using GroupDocs.Signature in Java applications improves the productivity of such actions dramatically.
In addition, you can use the Barcode Generator Online App to generate barcodes and/or sign your files with barcodes for free.
Read the documentation to learn how to use GroupDocs.Signature in your Java applications. Also, you may discuss any questions or issues at the GroupDocs forum.