用pdfbox进行pdf转图片中文乱码,缺失字体

PDDocument pdDocument = PDDocument.load(inputStreamByUrl);
PDFRenderer pdfRenderer = new PDFRenderer(pdDocument);
BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI(i, 144F, ImageType.RGB);

使用pdfbox读取pdf转图片的时候,如果缺失字体,中文会乱码。

运行在Windows的提示

2020-03-20 19:14:53.598 [Thread-13] WARN  o.a.pdfbox.pdmodel.font.FileSystemFontProvider - New fonts found, font cache will be re-built
2020-03-20 19:14:53.598 [Thread-13] WARN  o.a.pdfbox.pdmodel.font.FileSystemFontProvider - Building on-disk font cache, this may take a while
2020-03-20 19:14:53.704 [Thread-13] WARN  o.a.pdfbox.pdmodel.font.FileSystemFontProvider - Finished building on-disk font cache, found 447 fonts
2020-03-20 19:14:53.711 [Thread-13] WARN  org.apache.pdfbox.pdmodel.font.PDCIDFontType0 - Using fallback DengXian for CID-keyed font AdobeKaitiStd-Regular
2020-03-20 19:14:53.829 [Thread-13] WARN  org.apache.pdfbox.pdmodel.font.P
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用PDFBox进行PDF文本替换的示例代码: ```java import java.io.File; import java.io.IOException; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; import org.apache.pdfbox.pdmodel.font.PDType1Font; public class PDFTextReplacement { public static void main(String[] args) { try { // 加载PDF文档 PDDocument document = PDDocument.load(new File("input.pdf")); // 获取第一页 PDPage page = document.getPage(0); // 创建内容流 PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true, true); // 设置字体和字号 contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12); // 替换文本 contentStream.beginText(); contentStream.newLineAtOffset(100, 700); // 设置文本位置 contentStream.showText("替换后的文本"); // 替换为你想要的文本 contentStream.endText(); // 关闭内容流 contentStream.close(); // 保存修改后的PDF文档 document.save(new File("output.pdf")); // 关闭文档 document.close(); System.out.println("文本替换成功!"); } catch (IOException e) { e.printStackTrace(); } } } ``` 请注意,上述示例代码是使用Java编写的,需要将PDFBox库添加到项目中。你需要将"input.pdf"替换为你要替换文本的PDF文件路径,并将"替换后的文本"替换为你想要替换的文本内容。执行代码后,将生成一个名为"output.pdf"的新PDF文件,其中的文本已被替换。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值