Java操作PDF檔案之IText
導讀 | iText是著名的開放專案,是用於生成PDF文件的一個java類庫。透過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案。 本文從 iText 最基本的用法,分別從表格,圖片,中文來介紹 iText,希望能夠幫助到你。 |
maven 依賴
使用 iText 的時候需要用 maven 依賴如下:
<dependency> <groupId>com.itextpdf</groupId> <artifactId>itext7-core</artifactId> <version>7.2.0</version> <type>pom</type> </dependency>
簡單例項
建立 PDF 需要 4 個步驟:
建立 一個 PdfWriter,用於定義 pdf 的路徑地址
建立一個 pdf 文件,Document,與 PdfWriter 關聯
向文件中新增內容
關閉文件
下面從 hello world 開始。
import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; public class PDFDemo { public static void main(String[] args) { try{ PdfWriter pdfWriter = new PdfWriter("./demo.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); Document document = new Document(pdfDocument); document.add(new Paragraph("Hello World")); document.close(); }catch(Exception e){ e.printStackTrace(); } } }
示例結果:
中文
iText 不支援預設是不支援中文字型的,所以需要定義 PdfFont 中文字型樣式。使用 PdfFontFactory 的 createFont 建立一箇中文字型,並將中文字型設定到 document 中。
public static void main(String[] args) { try{ PdfWriter pdfWriter = new PdfWriter("./demo1.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); //字型檔案可以使用 windows 系統中的 PdfFont font = PdfFontFactory.createFont("E:\\pdfProject\\src\\main\\java\\simhei.ttf"); Document document = new Document(pdfDocument).setFont(font); document.add(new Paragraph("Hello World!你好,itext")); document.close(); }catch(Exception e){ e.printStackTrace(); } }
示例結果:
表格
在專案中經常需要 PDF 檔案中列印表格,這時就可以使用 Table 物件,建立一個個單元格並將表格內容寫入單元格中。
public static void main(String[] args) { try{ PdfWriter pdfWriter = new PdfWriter("./demo2.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); PdfFont font = PdfFontFactory.createFont("E:\\pdfProject\\src\\main\\java\\simhei.ttf"); Document document = new Document(pdfDocument).setFont(font); Table table = new Table(4); table.setWidth(500); table.addHeaderCell("header 1").addHeaderCell("header 2").addHeaderCell("header 3").addHeaderCell("header 4"); for(int i = 0; i < 16; i++) { table.addCell("cell " + i); } document.add(table); document.close(); }catch(Exception e){ e.printStackTrace(); } }
示例結果:
圖片
圖片的設定也很簡單,建立 Image 物件填充到 document 中就可以了。
public static void main(String[] args) { try{ PdfWriter pdfWriter = new PdfWriter("./demo3.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); PdfFont font = PdfFontFactory.createFont("E:\\pdfProject\\src\\main\\java\\simhei.ttf"); Document document = new Document(pdfDocument).setFont(font); Image img = new Image(ImageDataFactory.create("E:\\pdfProject\\src\\main\\java\\img.png")); document.add(img.setAutoScale(true)); document.close(); }catch(Exception e){ e.printStackTrace(); } }
示例結果:
總結
本文從 iText 最基本的用法,分別介紹從表格,圖片,中文來介紹 iText,希望能夠幫助到你。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2848732/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java-pdf-itext7、itextpdf 生成pdf 文件Java
- Java使用iText7生成PDFJava
- Java 檔案 IO 操作之 DirectIOJava
- Java審計之檔案操作漏洞Java
- caj轉pdf檔案怎麼操作?
- java模板匯出PDF檔案Java
- java安全編碼指南之:檔案IO操作Java
- Python之合併PDF檔案Python
- Java 檔案 IO 操作Java
- Java 根據模板生成 PDF 檔案 以及 excel 檔案JavaExcel
- Java整合FreeMarker匯出Pdf檔案Java
- 一款免費使用的PDF檔案批量合併工具,可操作pdf檔案順序,按順序合併pdf檔案。
- 一款免費使用的PDF檔案批次合併工具,可操作pdf檔案順序,按順序合併pdf檔案。
- Java : File 檔案類操作Java
- JAVA檔案操作知識Java
- C# iText 7 切分PDF,處理PDF頁面大小C#
- 7、python之檔案操作Python
- pdf轉換成wps檔案需要怎麼操作?
- Java NIO Path介面操作檔案Java
- Java 建立 PDF 檔案包的兩種方法Java
- Java 建立PDF檔案包的2種方法Java
- Java 渲染 docx 檔案,並生成 pdf 加水印Java
- Linux學習之檔案操作Linux
- java 檔案的操作(Path、Paths、Files)Java
- JAVA類檔案操作和異常Java
- Java後臺返回PDF檔案預覽下載Java
- 關於Java使用MinIO檔案伺服器操作檔案Java伺服器
- IO流之 檔案操作字元流字元
- (十七)Python學習之檔案操作Python
- Python3之檔案操作filePython
- 怎麼把pdf檔案縮小?如何使用PDF Expert壓縮pdf檔案大小?
- PDF檔案轉換為DWF檔案
- php檔案操作之提取檔案/目錄的名稱PHP
- Android iText向pdf模板插入資料和圖片Android
- PDF Squeezer - PDF Toolbox for Mac(PDF檔案工具箱)Mac
- Java對檔案的操作及UDP,TCPJavaUDPTCP
- PDF檔案批次列印工具:BatchOutput PDF for MacBATMac
- PDF Search for Mac(pdf檔案搜尋工具)Mac