我需要检查word文档的页面大小,高度和宽度。
我尝试使用java POI API,但我找不到解决方案。
如果有任何解决方案,请建议。
或者有没有更好的Java在Java中建议。
答案 0 :(得分:4)
让我们假设您有简单的文档(.docx格式),每个部分没有不同的布局,然后以下内容将为您提供页面大小(另请参阅this blog entry以了解各种单位转换):
import org.apache.poi.openxml4j.opc.*;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
public class DocxPageLayout {
public static void main(String[] args) throws Exception {
OPCPackage opc = OPCPackage.open("example.docx", PackageAccess.READ);
XWPFDocument doc = new XWPFDocument(opc);
opc.close();
CTSectPr sectPr = doc.getDocument().getBody().getSectPr();
if (sectPr == null) return;
CTPageSz pageSize = sectPr.getPgSz();
if (pageSize == null) return;
double width_cm = Math.round(pageSize.getW().doubleValue()/20d/72d*2.54d*100d)/100d;
double height_cm = Math.round(pageSize.getH().doubleValue()/20d/72d*2.54d*100d)/100d;
System.out.println("width: "+width_cm+" cm; height: "+height_cm+" cm");
}
}