当前位置: 首页 > 知识库问答 >
问题:

将包含图表的docx转换为PDF

叶裕
2023-03-14

我有一个docx4j生成的文件,其中包含几个表格、标题,最后还有一个excel生成的曲线图。

我尝试了许多方法,以将此文件转换为PDF,但没有得到任何成功的结果。

  1. 带有xsl fo的Docx4j不起作用,docx文件中包含的大部分内容尚未实现,并以红色文本显示为“未实现”

我在Apache POI中使用的代码如下:

public static void convert(String inputPath, String outputPath)
        throws XWPFConverterException, IOException {
    PdfConverter converter = new PdfConverter();
    converter.convert(new XWPFDocument(new FileInputStream(new File(
            inputPath))), new FileOutputStream(new File(outputPath)),
            PdfOptions.create());
}

我不知道该怎么做才能得到PDF中的图表,有人能告诉我如何继续吗?

提前感谢。

共有1个答案

鲜于玮
2023-03-14

我不知道这是否对您有帮助,但您可以使用“jacob”(我不知道使用apache poi或docx4j是否可行)在这个解决方案中,您可以自己打开“Word”并将其导出为pdf。

!Word需要安装在计算机上!

下载页面如下:http://sourceforge.net/projects/jacob-project/

try {           
        if (System.getProperty("os.arch").contains("64")) {
            System.load(DLL_64BIT_PATH);
        } else {
            System.load(DLL_32BIT_PATH);
        }
    } catch (UnsatisfiedLinkError e) {
        //TODO          
    } catch (IOException e) {
        //TODO          
    }

 ActiveXComponent oleComponent = new ActiveXComponent("Word.Application");
 oleComponent.setProperty("Visible", false);
 Variant var = Dispatch.get(oleComponent, "Documents");
 Dispatch document = var.getDispatch();

 Dispatch activeDoc = Dispatch.call(document, "Open", fileName).toDispatch();

// https://msdn.microsoft.com/EN-US/library/office/ff845579.aspx
Dispatch.call(activeDoc, "ExportAsFixedFormat", new Object[] { "path to pdfFile.pdf", new Integer(17), false, 0 });
Object args[] = { new Integer(0) };//private static final int DO_NOT_SAVE_CHANGES = 0;
Dispatch.call(activeDoc, "Close", args); 
Dispatch.call(oleComponent, "Quit");
 类似资料:
  • 上面的代码给了我一个错误,如下所示 线程“main”java.lang.nosuchmethoderror:org.docx4j.org.xhtmlrenderer.docx.docx.docx.docxrenderer.(ljava/lang/string;)V在org.docx4j.convert.in.xhtml.xhtmlimporterimpl.getrenderer(xhtmlimpo

  • 我有带有图表的示例docx: 例 当我运行示例项目时:组织.docx4j.samples.转换输出PDF 我有空的pdf。 如何将带有图表的docx转换为pdf?我需要一个免费的工具/库。

  • 我在运行时生成了一个docx文档,我想将其转换为PDF,而无需实际将文件保存在本地 PdfConverter无效。我怎样才能做到这一点?

  • 我在将HTML转换为docx时遇到了新问题,它引发了异常: 组织。xml。萨克斯。SAXS异常;行号:4;栏目号:73;实体“nbsp”已被引用,但未被声明 正如我所理解的,这是因为docx4j认为我的文件是XML,并希望将其转换为docx但XML中只有5个预定义的实体,而nbsp等实体没有在XML中定义。如何让docx4j将超文本标记语言转换为doc,而无需在doctype中声明实体nbsp?

  • 我正在努力寻找用Python将PDF文件转换为.docx文件的方法。 我见过其他与此相关的帖子,但在我的情况下,它们似乎都不正常。 我特别使用 这给了我输出[1],但在我的文件夹中找不到任何.docx文档。 我已经安装了LibreOffice 5.3。 有什么线索吗? 提前谢谢你!

  • 我的目标是采取现有的措施。docx文件,并使用docx4j将其从Linux命令行转换为PDF(http://www.docx4java.orghttp://www.docx4java.org).入门指南(http://www.docx4java.org/svn/docx4j/trunk/docx4j/docs/Docx4j_GettingStarted.html)指的是最新(2.8.1)软件包中实