原創|使用教程|編輯:王香|2017-05-19 15:45:48.000|閱讀 1249 次
概述: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@fc6vip.cn