0

我已经为 Doc 页面的页数实现了 Apache POI 库,但是当我将 Google Doc 下载为 .docx 文件时,它显示页数为零。

编辑:我的代码如下

public Integer getPagesCount(byte[] docBytes, String type)
        throws IOException {
    ByteArrayInputStream in = new ByteArrayInputStream(docBytes);
    String lowerFilePath = type.toLowerCase();
    if (lowerFilePath.equals("docx")) {
        @SuppressWarnings("resource")
        XWPFDocument docx = new XWPFDocument(in);
        return docx.getProperties().getExtendedProperties()
                .getUnderlyingProperties().getPages();
    } else if (lowerFilePath.equals("doc")) {
        @SuppressWarnings("resource")
        HWPFDocument wordDoc = new HWPFDocument(in);
        return wordDoc.getSummaryInformation().getPageCount();
    } else if (lowerFilePath.equals("ppt")) {
        HSLFSlideShow document = new HSLFSlideShow(in);
        return document.getSlides().size();
    } else if (lowerFilePath.equals("pptx")) {
        @SuppressWarnings("resource")
        XMLSlideShow xslideShow = new XMLSlideShow(in);
        return xslideShow.getSlides().size();
    } else if (lowerFilePath.equals("pdf")) {
        PDDocument doc = PDDocument.load(in);
        return doc.getNumberOfPages();
    }
    return 0;
}
4

0 回答 0