一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java使用iText輕松操作PDF文件的方法

Java使用iText輕松操作PDF文件的方法

2021-12-09 22:26熱衷技術的Java程序員 Java教程

本文從 iText 最基本的用法,分別介紹從表格,圖片中來介紹Java使用iText輕松操作PDF文件的方法,希望能夠幫助到你。

Java使用iText輕松操作PDF文件的方法

maven 依賴

使用 iText 的時候需要用 maven 依賴如下:

  1. com.itextpdf
  2. itext7-core
  3. 7.2.0
  4. pom
  5.  

簡單實例

建立 PDF 需要 4 個步驟:

  • 創建 一個 PdfWriter,用于定義 pdf 的路徑地址
  • 創建一個 pdf 文檔,Document,與 PdfWriter 關聯
  • 向文檔中添加內容
  • 關閉文檔

下面從 hello world 開始。

  1. import com.itextpdf.kernel.pdf.PdfDocument;
  2. import com.itextpdf.kernel.pdf.PdfWriter;
  3. import com.itextpdf.layout.Document;
  4. import com.itextpdf.layout.element.Paragraph;
  5.  
  6. public class PDFDemo {
  7.  
  8. public static void main(String[] args) {
  9. try{
  10. PdfWriter pdfWriter = new PdfWriter("./demo.pdf");
  11. PdfDocument pdfDocument = new PdfDocument(pdfWriter);
  12. Document document = new Document(pdfDocument);
  13. document.add(new Paragraph("Hello World"));
  14. document.close();
  15. }catch(Exception e){
  16. e.printStackTrace();
  17. }
  18. }
  19. }

示例結果:

Java使用iText輕松操作PDF文件的方法

中文

iText 不支持默認是不支持中文字體的,所以需要定義 PdfFont 中文字體樣式。使用 PdfFontFactory 的 createFont 創建一個中文字體,并將中文字體設置到 document 中。

  1. public static void main(String[] args) {
  2. try{
  3. PdfWriter pdfWriter = new PdfWriter("./demo1.pdf");
  4. PdfDocument pdfDocument = new PdfDocument(pdfWriter);
  5. //字體文件可以使用 windows 系統中的
  6. PdfFont font = PdfFontFactory.createFont("E:\\pdfProject\\src\\main\\java\\simhei.ttf");
  7. Document document = new Document(pdfDocument).setFont(font);
  8. document.add(new Paragraph("Hello World!你好,itext"));
  9. document.close();
  10. }catch(Exception e){
  11. e.printStackTrace();
  12. }
  13. }

示例結果:

Java使用iText輕松操作PDF文件的方法

表格

在項目中經常需要 PDF 文件中打印表格,這時就可以使用 Table 對象,創建一個個單元格并將表格內容寫入單元格中。

  1. public static void main(String[] args) {
  2. try{
  3. PdfWriter pdfWriter = new PdfWriter("./demo2.pdf");
  4. PdfDocument pdfDocument = new PdfDocument(pdfWriter);
  5. PdfFont font = PdfFontFactory.createFont("E:\\pdfProject\\src\\main\\java\\simhei.ttf");
  6. Document document = new Document(pdfDocument).setFont(font);
  7. Table table = new Table(4);
  8. table.setWidth(500);
  9. table.addHeaderCell("header 1").addHeaderCell("header 2").addHeaderCell("header 3").addHeaderCell("header 4");
  10. for(int i = 0; i < 16; i++) {
  11. table.addCell("cell " + i);
  12. }
  13. document.add(table);
  14.  
  15. document.close();
  16. }catch(Exception e){
  17. e.printStackTrace();
  18. }
  19. }

示例結果:

Java使用iText輕松操作PDF文件的方法

圖片

圖片的設置也很簡單,創建 Image 對象填充到 document 中就可以了。

  1. public static void main(String[] args) {
  2. try{
  3. PdfWriter pdfWriter = new PdfWriter("./demo3.pdf");
  4. PdfDocument pdfDocument = new PdfDocument(pdfWriter);
  5. PdfFont font = PdfFontFactory.createFont("E:\\pdfProject\\src\\main\\java\\simhei.ttf");
  6. Document document = new Document(pdfDocument).setFont(font);
  7. Image img = new Image(ImageDataFactory.create("E:\\pdfProject\\src\\main\\java\\img.png"));
  8. document.add(img.setAutoScale(true));
  9.  
  10. document.close();
  11. }catch(Exception e){
  12. e.printStackTrace();
  13. }
  14. }

示例結果:

Java使用iText輕松操作PDF文件的方法

總結

本文從 iText 最基本的用法,分別介紹從表格,圖片,中文來介紹 iText,希望能夠幫助到你。

原文地址:https://www.toutiao.com/a7039206476258263584/

延伸 · 閱讀

精彩推薦
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 日韩一区视频在线 | 日韩 国产 欧美 精品 在线 | 99久久爱热6在线播放 | 幻女free性摘花第一次 | 惊弦45集免费看 | 小柔的性放荡羞辱日记 | 妇女澡堂淋浴性 | 亚洲区精品久久一区二区三区 | 国产女同精品 | 日本午夜大片免费观看视频 | 亚洲视频在线免费 | ange venus与黑人 | 香蕉久久久 | 91成人免费观看 | 天天摸日日舔 | 非洲黑女人性xxxx | 大ji吧快给我别停受不了视频 | 天海翼三级| 精品在线网站 | 天天射寡妇射 | 嫩草在线视频www免费观看 | 亚洲男人的天堂成人 | 波多洁野衣一二区三区 | 成人福利网 | 国产综合亚洲欧美日韩一区二区 | 四虎影院观看 | 法国贵妇一级伦理hd | bl双性小说 | 天天做日日做天天添天天欢公交车 | 99热线| 亚洲AV永久无码精品澳门 | 午夜宅男在线观看 | 91视频免费观看网站 | 成人性爱视频在线观看 | 黑人巨鞭大战白妞10级 | 四虎影在线永久免费观看 | 欧美性4khd720 | 欧美精品一区二区在线观看 | zozzozozozo大 | 好姑娘在线视频观看免费 | 精品免费视频 |