Java 请求了第1页,但文档只有0页

Java 请求了第1页,但文档只有0页,java,android,document,runtimeexception,Java,Android,Document,Runtimeexception,因此,我试图生成一个报告,根据用户输入和数据,该报告可能包含许多页面 对类似的错误进行了总结,但认为这不是问题的实际解决方案 我的职能: 但是我得到了RunTimeException作为- 日志 只有在事先知道页面是否存在的情况下,我才知道如何关闭文档。这个问题很老了,但是一个答案可能会帮助其他人以后看到它 我也犯了同样的错误。在我的例子中,我创建的PDF只有一个页面,但是我创建的PDP称为pdp.GotoLocalPage2,pdfDest,writer。由于没有第2页,因此引发了请求的页面错

因此,我试图生成一个报告,根据用户输入和数据,该报告可能包含许多页面

对类似的错误进行了总结,但认为这不是问题的实际解决方案

我的职能:

但是我得到了RunTimeException作为-

日志


只有在事先知道页面是否存在的情况下,我才知道如何关闭文档。

这个问题很老了,但是一个答案可能会帮助其他人以后看到它

我也犯了同样的错误。在我的例子中,我创建的PDF只有一个页面,但是我创建的PDP称为pdp.GotoLocalPage2,pdfDest,writer。由于没有第2页,因此引发了请求的页面错误

如果您的错误是有0个页面,我想知道您是否遇到了一些错误,导致您的PDF代码无法运行,因此无法在生成的PDF中创建任何页面


另一个想法是,在您包含的示例代码中,我没有看到document.NewPage调用。也许有多种方法可以创建新页面,但这就是我手动添加新页面的方法。如果您没有这些电话,可能这就是PDF中没有页面的原因吧?

为什么您要使用PDF编写器打开一个显然想要阅读的文件?你应该改用PdfReader吗?它不仅用于阅读,还用于写作。此外,该函数包含许多行代码,但我只提到了导致实际问题的相关行,如代码中的问题注释所述。对于PdfReader,没有提到。你可以想象,当我打开报告,在其中写入内容,然后关闭报告时。然后在关闭时获得异常。
public void generateReport()
{
  final String path = "/sdcard/testreport.pdf";
  try
  {
  Document document = new Document();
  writer = PdfWriter.getInstance(document, new FileOutputStream(FILE));
  document.open();
  // many lines code related to report generation
  writer.setOpenAction(action);
  status = GetReport(document);
  document.close(); //RunTimeException here.
  }
  catch (Exception e)
  {
    e.printStackTrace();
  }
04-16 19:34:01.928: W/System.err(14248): java.lang.RuntimeException: The page 1 was requested but the document has only 0 pages.
04-16 19:34:01.929: W/System.err(14248):    at com.itextpdf.text.pdf.PdfWriter.close(PdfWriter.java:1208)
04-16 19:34:01.929: W/System.err(14248):    at com.itextpdf.text.pdf.PdfDocument.close(PdfDocument.java:776)
04-16 19:34:01.929: W/System.err(14248):    at com.itextpdf.text.Document.close(Document.java:420)
04-16 19:34:01.929: W/System.err(14248):    at com.wassap.main.ReportsActivity.generateReport(ReportsActivity.java:541)