gpt4 book ai didi

java - 使用 Apache POI 将 Excel/Word 转换为 PDF

转载 作者:行者123 更新时间:2023-12-04 20:10:07 25 4
gpt4 key购买 nike

我正在测试 Apache POI,但我有问题。
我正在使用 Maven 和 Java。

  • 可以在不阅读的情况下将 excel 文件转换为 PDF(类似于 PdfConverter.getInstance().convert )
  • 如果没有步骤 1 中的功能,我该如何保留 excel 样式、格式和其他内容?
  • 为什么这个代码 PdfConverter.getInstance().convert(doc,outFile,options);有这个错误 java.lang.ClassNotFoundException: org.apache.poi.POIXMLDocumentPart (见下面的代码)?
  • 我可以使用其他一些免费的库吗?

  • 我附上了 pom.xml 和单词转换的代码:
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
    <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.0.0</version>
    </dependency>

    <!-- org.apache.poi/poi-ooxml -->
    <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.0.0</version>
    </dependency>

    <!-- org.apache.poi.xwpf.converter.pdf -->
    <dependency>
    <groupId>fr.opensagres.xdocreport</groupId>
    <artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
    <version>1.0.6</version>
    </dependency>

    <!-- com.itextpdf/itextpdf -->
    <dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13</version>
    </dependency>

    单词转换代码:
    File file1 = new File("myWord.docx");
    FileInputStream fileInpStr1 = new FileInputStream(file1.getAbsolutePath());

    XWPFDocument doc = new XWPFDocument(fileInpStr1);
    OutputStream outFile = new FileOutputStream("myPDFout.pdf"));

    PdfOptions options = null;
    PdfConverter.getInstance().convert(doc,outFile,options); <-- here the error jumps

    outFile.close();
    doc.close();

    最佳答案

    我在尝试通过 POI 将 word(.docx) 转换为 pdf 时遇到了同样的问题。错误是 java.lang.NoSuchMethodError:org.apache.poi.POIXMLDocumentPart.getPackageRelationship()Lorg/apache/poi/openxml4j/opc/PackageRelationshipe我通过将 POI 的版本从 3.16 更改为 3.15 来解决此问题(请参阅下面的依赖项)。但我认为这不是最佳解决方案。

            <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.15</version> <-- right version number
    </dependency>

    因此,如果您通过不更改版本来解决此问题,请告诉我您的代码。

    关于java - 使用 Apache POI 将 Excel/Word 转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52500539/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com