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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java pdfbox2 中文乱码_使用PdfBox实现pdf转图片,解决中文方块乱码等问题

發布時間:2024/3/13 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java pdfbox2 中文乱码_使用PdfBox实现pdf转图片,解决中文方块乱码等问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、引入依賴

org.apache.pdfbox

fontbox

2.0.13

org.apache.pdfbox

pdfbox

2.0.13

二、PDF轉PNG代碼

String pdfBase64 = "XXXXX";

PDDocument pdDocument = PDDocument.load(Base64Utils.decodeFromString(pdfBase64));

PDFRenderer renderer = new PDFRenderer(pdDocument);

BufferedImage bufferedImage = renderer.renderImage(0);

ImageIO.write(bufferedImage, "png", new File("xxx.png"));

三、PNG中文方塊亂碼

查看linux服務器上的字體庫如下。

轉換后的PNG如下。

日志中打印出類似這樣的日志(例:Using fallback XXX for CID-keyed font STSong-Light),就說明系統沒有安裝STSong-Light字體,pdfbox使用XXX字體來替代了。如果出現方塊,就說明沒有這種字體,并且替代字體也沒有,日志也有相應的其他提示。

四、linux添加字體庫

可以選擇STSong-Light字體,而我這里選擇simsun.ttf字體。

#cd /usr/share/fonts/ // 進入系統自帶的字體目錄

#mkdir myfonts // myfonts 是你自己隨便取得文件夾名字,一定要有這一步

#將字體文件拷貝到這個文件夾下,在cd /usr/share/fonts/目錄下執行以下命令

#mkfontscale

#mkfontdir

#fc-cache -fv //更新字體緩存

#fc-list // 查看系統中所有得字體,可用于測試是否安裝字體成功

如果 /usr/share/fonts/ 目錄當前用戶沒有權限,可以在 ~/.fonts/ 目錄下新增字體庫,操作步驟和上面一樣。

注意:一定要創建字體對應的文件夾,如果字體直接放在fonts目錄,不會生效。

新增字體之后,可以看到字體庫列表中有如下 宋體 的字樣了。

最終轉換后正常的PNG如下。

————————————————

版權聲明:本文為CSDN博主「胡峻崢」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/qq_22845447/article/details/88386443

總結

以上是生活随笔為你收集整理的java pdfbox2 中文乱码_使用PdfBox实现pdf转图片,解决中文方块乱码等问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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