日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iText创建一个含有中文的pdf文档

發布時間:2023/12/9 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iText创建一个含有中文的pdf文档 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有朋友問我pdfbox支不支持向pdf文檔中寫入中文。然后試了好多遍都是有亂碼,也找了好多資料沒有找到解決辦法。

但是在查找資料的過程中發現了另一個處理pdf的開源庫iText.官方介紹 http://itextpdf.com/

在這參考了兩篇博客

博客1.pdfbox&iText生成PDF文件格式及讀取PDF資料內容的小示例-完美支持中文版

博客2.iText生成pdf

iText的功能很強大,用起來也很靈活,我這里只是簡單的了解了一下創建一個包含中文的pdf的方法。以后有時間在深入了解。

廢話不多說,正題!

下載jar包,官網沒找到o(╯□╰)o,jarfire上收錄了一些jar包,下載jar包? 我下載的是itext-2.0.6.jar.zip

上代碼

1 package pdf.itext; 2 3 import java.awt.Color; 4 import java.io.File; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 8 import com.lowagie.text.Document; 9 import com.lowagie.text.DocumentException; 10 import com.lowagie.text.Font; 11 import com.lowagie.text.PageSize; 12 import com.lowagie.text.Paragraph; 13 import com.lowagie.text.Rectangle; 14 import com.lowagie.text.pdf.BaseFont; 15 import com.lowagie.text.pdf.PdfWriter; 16 17 public class Handler { 18 private static String CHINESE_FONT = "SIMFANG.TTF";//仿宋字體,在C:/Windows/fonts里找的font文件放到src目錄下,參見 博客1 19 public static final Rectangle PAGE_SIZE = PageSize.A4; 20 public static final float MARGIN_LEFT = 50; 21 public static final float MARGIN_RIGHT = 50; 22 public static final float MARGIN_TOP = 50; 23 public static final float MARGIN_BOTTOM = 50; 24 public static final float SPACING = 20; 25 26 public static void createPDF(String fileName,String content) throws DocumentException, IOException { 27 File file = new File(fileName);//生成的文件 28 FileOutputStream fout = new FileOutputStream(file);//輸出流 29 Document document = new Document(PAGE_SIZE, MARGIN_LEFT, MARGIN_RIGHT, MARGIN_TOP, MARGIN_BOTTOM);//頁面大小以及布局 30 PdfWriter.getInstance(document, fout);//將文檔添加的輸出流 31 document.open();//打開文檔準備寫入 32 BaseFont baseFont = BaseFont.createFont(CHINESE_FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);//創建一個支持中文的字體 33 Font chinese = new Font(baseFont, 20, Font.BOLDITALIC, Color.red);//博客1里的BaseColor在我下載的jar包中沒有就用java.awt.color代替了 34 document.add(new Paragraph(content, chinese));//寫入內容       35 document.close();//關閉文檔 36 } 37 public static void main(String[] args) throws DocumentException, IOException { 38 createPDF("apdf.pdf", "正在使用iText創建一個包含中文的pdf文檔!"); 39 } 40 }

?

不同版本的jar包,差異應該還挺大的,我的代碼中包結構還有方法等和博客1的差異比較大,和博客2的基本一致。
相關信息官網肯定,由于時間問題沒有仔細查看。留后吧(*^__^*) 。

?寫入內容 方法比較多,創建pdf也很具體詳細,很靈活。

TO BE CONTINUED……

?

轉載于:https://www.cnblogs.com/erbin/p/4163108.html

總結

以上是生活随笔為你收集整理的iText创建一个含有中文的pdf文档的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。