Я пытаюсь подсчитать страницы из словаря с помощью java.Подсчет страниц в документе Word
Это мой фактический код, я использую библиотеки Apache POI
String path1 = "E:/iugkh";
File f = new File(path1);
File[] files = f.listFiles();
int pagesCount = 0;
for (int i = 0; i < files.length; i++) {
POIFSFileSystem fis = new POIFSFileSystem(new FileInputStream(files[i]));
HWPFDocument wdDoc = new HWPFDocument(fis);
int pagesNo = wdDoc.getSummaryInformation().getPageCount();
pagesCount += pagesNo;
System.out.println(files[i].getName()+":\t"+pagesNo);
}
Выход является:
ten.doc: 1
twelve.doc: 1
nine.doc: 1
one.doc: 1
eight.doc: 1
4teen.doc: 1
5teen.doc: 1
six.doc: 1
seven.doc: 1
И это не то, что я ожидал, как первые три документа длина страницы равна 4, а другая - от 1 до 5 страниц.
Что мне не хватает?
Должен ли я использовать другую библиотеку для правильного подсчета страниц?
Заранее благодарен
Похоже, что Word не потрудился обновлять статистику в файлах (удручающе распространенный). Если вы откроете файл в слове, просмотрите статистику и сохраните, это исправить? – Gagravarr
Это работает сейчас? протестировал его с версией poi-3.9, это сработало для меня. Спасибо – teckysols
у вас проблема разрешена? можете ли вы рассказать мне, как вы получаете количество страниц? –