2017-08-04 66 views
0

如何使用Apache Poi获取DOC文档中的页数?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) 
+0

https://stackoverflow.com/questions/18231134/how-to-avoid-java-lang-nosuchmethoderror-org-apache-poi-util-ioutils-copyljava –

+0

请参阅http://poi.apache.org/ faq.html#faq-N10006 - 你的班级路径上有旧版本的POI – Gagravarr

回答

0

您的代码应能正常工作。这种非常常见的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> 

确保你没有罐子的额外版本。

+0

谢谢!它现在完美 –

相关问题