java - Apache Poi : get page count in DOC document

标签 java apache-poi

如何使用 Apache Poi 获取 DOC 文档中的页数?

我尝试使用以下代码:

HWPFDocument wordDoc = new HWPFDocument(new FileInputStream(lowerFilePath));
Integer pageCount = wordDoc.getSummaryInformation().getPageCount();

但出现异常(Apache Poi 版本:3.13)

    java.lang.NoSuchMethodError: org.apache.poi.util.IOUtils.toByteArray(Ljava/io/InputStream;I)[B
at org.apache.poi.hwpf.HWPFDocumentCore.verifyAndBuildPOIFS(HWPFDocumentCore.java:95)
at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:174)

最佳答案

您的代码应该可以正常工作。这种非常常见的 POI 错误的原因是您的类路径上有旧版本的库,其中该方法尚不存在。而且库中的某些版本的零件也不兼容。

如果您使用 Maven,则这段代码只需要这些依赖项:

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>${poi.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-scratchpad</artifactId>
  <version>${poi.version}</version>
</dependency>

确保您没有额外版本的 jar。

关于java - Apache Poi : get page count in DOC document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45510867/

相关文章:

java - 如何使用 Apache POI 动态写入第 0 行?

java - JSlider 未在空布局 JPanel 上绘制

java - 了解Options.orElse

Java 翻译点

java - 有时返回 String 有时返回 null 时如何使用 Assert.assertEquals

java apache poi(第 2 部分)

java - Activity 和 createpdf 函数之间的依赖关系

java - 无法使用 POI 在 Excel 中写入多行

java - Apache POI 使用 Java 生成带有图像的 excel(自动调整行大小)

java - 使用 Java Servlet 合并 Oracle 中的多个 BLOB 以下载到 .docx 文件中