¿Existe alguna manera fácil de contar el número de páginas en un documento de Word ya sea .doc o .docx?Número de páginas en un documento de Word en java
Gracias
¿Existe alguna manera fácil de contar el número de páginas en un documento de Word ya sea .doc o .docx?Número de páginas en un documento de Word en java
Gracias
Usted podría intentar la API de Apache para documentos de Word:
como un método para obtener el número de páginas:
public int getPageCount()
devoluciones: El recuento de páginas o 0 si SummaryInformation no contiene una página co unt.
Uso de Apache POI SummaryInformation para ir a buscar el número total de páginas de un documento de Word MS
me encontré con una clase muy fresco, que se contabilizan como páginas de Palabra, Excel y PowerPoint. Con la ayuda de Apache POI. Y es para documentos antiguos y docx nuevos.
String lowerFilePath = filePath.toLowerCase();
if (lowerFilePath.endsWith(".xls")) {
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(lowerFilePath));
Integer sheetNums = workbook.getNumberOfSheets();
if (sheetNums > 0) {
return workbook.getSheetAt(0).getRowBreaks().length + 1;
}
} else if (lowerFilePath.endsWith(".xlsx")) {
XSSFWorkbook xwb = new XSSFWorkbook(lowerFilePath);
Integer sheetNums = xwb.getNumberOfSheets();
if (sheetNums > 0) {
return xwb.getSheetAt(0).getRowBreaks().length + 1;
}
} else if (lowerFilePath.endsWith(".docx")) {
XWPFDocument docx = new XWPFDocument(POIXMLDocument.openPackage(lowerFilePath));
return docx.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();
} else if (lowerFilePath.endsWith(".doc")) {
HWPFDocument wordDoc = new HWPFDocument(new FileInputStream(lowerFilePath));
return wordDoc.getSummaryInformation().getPageCount();
} else if (lowerFilePath.endsWith(".ppt")) {
HSLFSlideShow document = new HSLFSlideShow(new FileInputStream(lowerFilePath));
SlideShow slideShow = new SlideShow(document);
return slideShow.getSlides().length;
} else if (lowerFilePath.endsWith(".pptx")) {
XSLFSlideShow xdocument = new XSLFSlideShow(lowerFilePath);
XMLSlideShow xslideShow = new XMLSlideShow(xdocument);
return xslideShow.getSlides().length;
}
fuente: OfficeTools.getPageCount()
//Library is aspose
//package com.aspose.words.*
/*Open the Word Document */
Document doc = new Document("C:\\Temp\\file.doc");
/*Get page count */
int pageCount = doc.getPageCount();
Document doc = new Document("C:\\Data\\abc.doc");
//Get page count
int pageCount = doc.getPageCount();
//Print Page Count
System.out.println(pageCount);
Si desea utilizar Aspose.Words para Java, document.getPageCount() de la API le dará el número de páginas. Por favor, compruebe http://www.aspose.com/docs/display/wordsjava/com.aspose.words.Document.getPageCount+property
o también puede utilizar la API de docx4j,
¿Se puede decir en qué biblioteca, esta clase de documento pertenece a ??? –
por favor revise los comentarios en el código –