doc、docx页码跟系统字体,渲染方式有关,需要预览,或则转成pdf才能知道最终页数。
pdf页码是个属性,可以直接读取,获取比较容易。
poi获取
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import org.apache.poi.xwpf.usermodel.XWPFDocument;public class WordPageCount { public static void main(String[] args) { File file = new File("example.docx"); try (FileInputStream fis = new FileInputStream(file); XWPFDocument document = new XWPFDocument(fis)) { int pageCount = document.getProperties().getExtendedProperties().getPages(); System.out.println("Page count: " + pageCount); } catch (IOException e) { e.printStackTrace(); } }}
缺点:几乎不准,可以忽略。
spire.doc获取(相对准确,页数越多速度越慢,因为需要渲染,其它功能需要收费)
spire.doc是国内开发的一款软件,感觉也是基于poi在windows和mac获取页码相对比较
来源地址:https://blog.csdn.net/u010605113/article/details/130626484