【发布时间】:2019-03-12 16:24:03
【问题描述】:
我需要检测我的 PDF 文档的页面方向。这样做我试图获取单个页面的页面大小:
pdfGen = createPdf.makePdf("doc.pdf");
document = pdfGen.getDocument();
document.setMargins(80, 80, 80, 80);
writer = pdfGen.getWriter();
document.add(new Paragraph("some content"));
document.add(new AreaBreak(PageSize.A4.rotate()));
document.add(new Paragraph("more content"));
document.add(new AreaBreak(PageSize.A4));
document.add(new Paragraph("even more content"));
Rectangle rect = document.getPdfDocument().getPage(1).getPageSizeWithRotation(); // e.g. the 1st page
document.close();
writer.close();
但我得到的只是这一行中的NullPointerException:Rectangle rect = document.getPdfDocument().getPage(1).getPageSizeWithRotation()。
java.lang.NullPointerException
at com.itextpdf.kernel.pdf.PdfDictionary.get(PdfDictionary.java:456)
at com.itextpdf.kernel.pdf.PdfDictionary.getAsArray(PdfDictionary.java:156)
at com.itextpdf.kernel.pdf.PdfPage.getMediaBox(PdfPage.java:516)
at com.itextpdf.kernel.pdf.PdfPage.getPageSize(PdfPage.java:125)
at com.itextpdf.kernel.pdf.PdfPage.getPageSizeWithRotation(PdfPage.java:134)
at com.myPackage.MyClass.myFunc(MyClass.java:15)
// ...
【问题讨论】:
-
你没有第1页
-
@JEY:我认为这不是问题所在。当我注释掉该行时,文档生成时没有任何错误,并且包含所有 3 页。这很奇怪。