【问题标题】:Convert DOCX to PDF using POI trouble使用 POI 麻烦将 DOCX 转换为 PDF
【发布时间】:2019-12-20 23:27:51
【问题描述】:

我只需要将我的 docx 文件转换为 pdf,所以我使用了 poi,但结果我得到了这个。和图片一样

一开始我以为这个问题和编码有关,但是当我设置它时,问题并没有消失。

InputStream is = new FileInputStream(input); // here I set way to .docx

XWPFDocument document = new XWPFDocument(is);

PdfOptions options = PdfOptions.create();  

OutputStream out = new FileOutputStream(output); // here to .pdf

PdfConverter.getInstance().convert(document, out, options);

【问题讨论】:

  • 看起来好像在 PDF 中使用了部分未嵌入的字体,这在您的客户端系统中不可用。但顺便说一句:apache poi 不提供 PDF 导出。那么您使用的是什么确切的类PdfOptionsPdfConverter?见stackoverflow.com/questions/51440312/…
  • 导入 org.apache.poi.xwpf.converter.pdf.PdfConverter;导入 org.apache.poi.xwpf.converter.pdf.PdfOptions;版本 - 1.0.0
  • org.apache.poi.xwpf.converter.pdf.PdfConverterorg.apache.poi.xwpf.converter.pdf.PdfOptions 是来自Opensagres 的古老版本,而不是来自apache poi
  • 现在我在 pom 中设置 fr.opensagres.poi.xwpf.converter.pdf 2.0.2 并将 org.apache.poi 更改为 4.1.0。这并没有解决我的问题,顺便说一句,它更好。看看你所说的字体。

标签: java pdf apache-poi docx


【解决方案1】:

我知道我来晚了 :) 但对于那些仍在寻找解决方案的人。就我而言,缺少 Microsoft 字体。所以需要在 linux PC 上安装 msttcore-fonts。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 2017-08-17
    • 2018-10-02
    • 1970-01-01
    相关资源
    最近更新 更多