【教程】將Java條形碼新增到PDF文件的兩種方法

cocacola456發表於2017-05-23

jPDFProcess是用於PDF檔案的Java庫,可用作向使用者傳遞自定義PDF內容或者對引入的PDF內容進行處理和操作。本教程演示了使用jPDFProcess將Java條形碼新增到PDF文件的兩種方法。

關聯產品

通過jPDFProcess,將PDF文件新增到PDF文件中的方法:

方法1

使用條形碼字型,其字元看起來像條形碼,然後使用此字型向文件新增文字。當顯示文件時,它將顯示條形碼(使用字型繪製),並具有將條形碼值保持在文字內容中的附加優勢。 這時候需要在執行的同一資料夾中的free3of9.ttf檔案,該檔案是TrueType Code39字型,示例程式將此字型嵌入到PDF中,然後使用它來繪製字串。

程式碼示例

String barcodeMSG = "0123456789";
 
// Create a blank document and add a page
PDFDocument pdf = new PDFDocument();
PDFPage newPage = pdf.appendNewPage(8.5 * 72, 11 * 72);
Graphics2D pageG2 = newPage.createGraphics();
 
// Embed the font
Font code39Font = pdf.embedFont("free3of9.ttf", Font.TRUETYPE_FONT);		
pageG2.setFont(code39Font.deriveFont(64f));
pageG2.drawString(barcodeMSG, 72, 108);
 
// Save the document
pdf.saveDocument("barcode.pdf");

方法2

第二種方法是使用條形碼庫建立條形碼影象,然後使用jPDFProcess將該影象繪製到PDF上。 barcode4j.jar檔案是一個開放原始碼庫,它實現了許多條形碼生成類,包括程式碼39.樣例程式使用這個jar檔案中的類來生成條形碼影象,然後將影象新增到 PDF檔案。

程式碼示例

String barcodeMSG = "0123456789";
 
// Create a blank document and add a page
PDFDocument pdf = new PDFDocument();
PDFPage newPage = pdf.appendNewPage(8.5 * 72, 11 * 72);
Graphics2D pageG2 = newPage.createGraphics();
 
// This code creates a barcode image using Barcode39 and then adds the image to the page
Code39Bean code39 = new Code39Bean();
code39.setModuleWidth(2);
code39.setBarHeight(50);
code39.setWideFactor(2);
BarcodeDimension dim = code39.calcDimensions(barcodeMSG);
 
BufferedImage barcodeImage = new BufferedImage((int)dim.getWidth(), (int)dim.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D imageG2 = barcodeImage.createGraphics();
imageG2.setColor(Color.white);
imageG2.fillRect(0, 0, barcodeImage.getWidth(), barcodeImage.getHeight());
imageG2.setColor(Color.black);
code39.generateBarcode(new Java2DCanvasProvider(imageG2, 0), "0123456789");
 
// Add the image to the page
pageG2.drawImage(barcodeImage, posX, posY, null);
 
// Save the document
pdf.saveDocument("barcode.pdf");

檢視原文


相關文章