【教程】將Java條形碼添加到PDF文檔的兩種方法

關聯產品html

經過jPDFProcess,將PDF文檔添加到PDF文檔中的方法:app

方法1ide

使用條形碼字體,其字符看起來像條形碼,而後使用此字體向文檔添加文本。當顯示文檔時,它將顯示條形碼(使用字體繪製),並具備將條形碼值保持在文本內容中的附加優點。 這時候須要在運行的同一文件夾中的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");

方法2code

第二種方法是使用條形碼庫建立條形碼圖像,而後使用jPDFProcess將該圖像繪製到PDF上。 barcode4j.jar文件是一個開放源代碼庫,它實現了許多條形碼生成類,包括代碼39.樣例程序使用這個jar文件中的類來生成條形碼圖像,而後將圖像添加到 PDF文件。htm

代碼示例文檔

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");

查看原文字符串

相關文章
相關標籤/搜索