解决 PDF乱码问题

 

那么就按照下面的办法来吧!

1.在下载poppler-data,解压

2.在终端执行:cd /解压路径/poppler-data-0.1

3.再输入:sudo make install datadir=/usr/share

重新打开pdf文件后中文能正常显示了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iText7是一个Java库,用于生成PDF文档。iText7提供了从HTML到PDF的转换功能,可以通过以下步骤将HTML转换为PDF解决中文问题: 1. 添加iText7依赖 在您的项目中添加以下依赖项: ``` <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext7-core</artifactId> <version>7.1.15</version> </dependency> ``` 2. 编写Java代码 您可以使用以下Java代码将HTML转换为PDF: ``` import com.itextpdf.html2pdf.HtmlConverter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class HtmlToPdfConverter { public static void main(String[] args) throws IOException { String html = "<html><body><h1>Hello, world!</h1></body></html>"; String dest = "output.pdf"; FileOutputStream pdfFile = new FileOutputStream(new File(dest)); HtmlConverter.convertToPdf(html, pdfFile); pdfFile.close(); } } ``` 在上面的示例中,我们将HTML字符串转换为PDF,并将其保存到名为“output.pdf”的文件中。 3. 解决中文问题 如果HTML中包含中文字符,则可能会出现中文问题。为了解决这个问题,您可以使用iText7提供的中文字体,例如STSongStd-Light或STHeiti,或者自定义中文字体。 以下是使用STSongStd-Light字体的示例代码: ``` import com.itextpdf.html2pdf.HtmlConverter; import com.itextpdf.io.font.FontConstants; import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.kernel.geom.PageSize; import com.itextpdf.kernel.pdf.PdfWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class HtmlToPdfConverter { public static void main(String[] args) throws IOException { String html = "<html><body><h1>Hello, 你好, world!</h1></body></html>"; String dest = "output.pdf"; PdfWriter pdfWriter = new PdfWriter(new FileOutputStream(new File(dest))); PageSize pageSize = PageSize.A4; com.itextpdf.kernel.pdf.PdfDocument pdf = new com.itextpdf.kernel.pdf.PdfDocument(pdfWriter); pdf.setDefaultPageSize(pageSize); com.itextpdf.layout.Document document = new com.itextpdf.layout.Document(pdf, pageSize); PdfFontFactory.register("STSongStd-Light", "STSongStd-Light", "STSongStd-Light", FontConstants.IDENTITY_H); HtmlConverter.convertToPdf(html, document, new ConverterProperties().setFontProvider((fontName, encoding, embedded, size, style, color) -> "STSongStd-Light")); document.close(); pdf.close(); } } ``` 在上面的示例中,我们使用“STSongStd-Light”字体提供程序,以将字体名称映射到字体文件路径,以及字体的编码设置为IDENTITY_H,以确保能够正确渲染中文字符。 使用上述步骤,您可以将HTML转换为PDF,并解决中文问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值