原創|使用教程|編輯:王香|2017-05-19 15:45:48.000|閱讀 1260 次
概述:jPDFProcess是用于PDF文件的Java庫,可用作向用戶傳遞自定義PDF內容或者對引入的PDF內容進行處理和操作。本教程演示了使用jPDFProcess將Java條形碼添加到PDF文檔的兩種方法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
通過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");
下載完整的Java示例程序
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn