文档没有包含 itext 的页面

2024-02-23

<%
OutputStream output=response.getOutputStream();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "inline; filename=details.pdf");
try{
    Document document = new Document();
PdfWriter writer=PdfWriter.getInstance(document, output);
document.open();
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/a", "root", "root");
Statement st=con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
List arrlist = new ArrayList();
ResultSet rs=st.executeQuery("Select * from user_start1");
 while(rs.next()){
 arrlist.add(rs.getString("data"));
 }  
for(int i=0;i<12;i++){
  String str =(String) arrlist.get(i);
  System.out.println(str); 
  worker.parseXHtml(writer, document, new StringReader("helloworld"));
}
document.close();
writer.flush();
writer.close();
output.close();
}catch(IOException e){e.printStackTrace();} 
%>

抛出错误

SEVERE: Servlet.service() for servlet [jsp] in context with path [/chieflegis] threw exception [ExceptionConverter: java.io.IOException: The document has no pages.] with root cause
java.io.IOException: The document has no pages.
    at com.itextpdf.text.pdf.PdfPages.writePageTree(PdfPages.java:113)
    at com.itextpdf.text.pdf.PdfWriter.close(PdfWriter.java:1217)
    at com.itextpdf.text.pdf.PdfDocument.close(PdfDocument.java:807)
    at com.itextpdf.text.Document.close(Document.java:416)
    at org.apache.jsp.print_jsp._jspService(print_jsp.java:112)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

我以前使用过相同的 xmlworker 但从未出现过任何错误。甚至 hello world 也没有显示。请帮助


其他答案都很好。这是一个替代方案。

一般来说,为了防止这种错误,当文档不包含对内容有意义的数据时经常发生这种错误,即使document.open() and document.newPage()被调用后,即使在将其他页面标记到该文档中之后,您也可以在打开文档时添加一个空块,以确保库永远不会将其视为空。例如

document.open(); 
document.add(new Chunk("")); // << this will do the trick. 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文档没有包含 itext 的页面 的相关文章

随机推荐

  • css 两行1列框布局

    我一直在使用 Flexbox 进行两行一列布局 我使用 Flexbox 是因为我认为 css2 1 无法填充 box B 的剩余空间 在我的 jsFiddle 示例中 我无法让 box C 在右侧向上移动 也无法让 box B 垂直弯曲并填
  • 无需用户凭据的身份验证

    我正在组建一个个人 React 站点 并希望将请求发送到 AWS API 网关 然而 我只想my site能够提取数据 不会有用户模型 并且我曾经使用过的每个身份验证模型都要求用户通过登录执行某些操作 无论是用户 密码还是 AD 有人可以指
  • android-NestDK 卡住了 pincode

    我正在尝试弄清楚如何将我的 NestDK 应用程序连接到 Nest API 使用我的用户名和密码登录后 我收到 使用此 Pincode 连接 Nest XXXXXX 我该怎么办 我预计 access token 请求会在后台发生 但我卡在了
  • Windows Phone:如何禁用 ScrollViewer(列表框)中的触摸滚动?

    我有一个滚动查看器 里面有一个列表框 我需要通过触摸禁用垂直滚动 我该怎么办 换句话说 用户无法通过触摸滚动 我已经放置了按钮 但这是另一个故事
  • Flutter:自定义单选按钮

    How can I create a custom radio button group like this in flutter 这是完整的代码 class CustomRadio extends StatefulWidget overr
  • JDO 异常:“查询需要 1 个参数,但已提供 2 个值。”

    尽管我的 JDO 查询包含TWO declareParameters语句 下面的代码产生一个错误 声称只接受一个参数 查询需要 1 个参数 但已提供 2 个值 这两个参数是amountP and taxP javax jdo Query q
  • 为什么我会收到此 SQL/DB 错误?

    我正在尝试使用 DB2 运行一个简单的 SQL 语句 但遇到了一些问题 我希望在 txt db2 文件中有一个脚本 并让引擎处理所有命令 这是脚本 CONNECT TO MYDB CREATE TABLE PERSONS PID SMALL
  • 垫选择内的模板出口不起作用

    我试图在带有 template outlet 的 mat select 中传递 tmp 但无法显示选择选项 下面是我的代码和 stackblitz 的链接
  • 无法在 IE 中通过 AJAX 更改会话变量

    当我尝试使用 AJAX 更改服务器上的会话变量时 IE 出现一些奇怪的行为 它在 FF Chrome Safari 和我测试过的所有其他浏览器中运行良好 但在 IE 中运行不佳 我在会话变量中为匿名用户维护一个变量 整数 列表 这样我就可以
  • 我可以将 Android 项目中的资源标记为已弃用吗?

    我有一个 android 库 我想将其某些资源标记为已弃用 可绘制对象 尺寸 持续时间 我在某处读到可以将 deprecated deprecated 添加到资源定义中 但它似乎没有做任何事情 在 Android R 中 您可以看到诸如 j
  • 设置 Newtonsoft.Json.JsonConvert 的比较器以用于 HashSet/Dictionary

    我有一个HashSet
  • 使用新的 Firebase 在 Heroku 上为 ElasticSearch 设置 Flashlight

    我的目标是将 Firebase 与 ElasticSearch 连接起来进行索引 以便我可以在 iOS 应用程序中搜索用户名时实现 like 查询 据我所知 这是最好的解决方案 我想尽早以这种方式解决它 以便可扩展 而不是暴力破解 为了实现
  • android 如何处理相机意图

    我正在 Android 中研究一些相机的东西 我得到了一些教程 根据我的需要 我使用以下代码 Intent cameraIntent new Intent android provider MediaStore ACTION IMAGE C
  • 使用查询字符串预填充 github 新问题表单

    有没有办法获得新 git 问题的链接 该问题预先填充标签以及标签的分配字段以及查询字符串中指定的用户 我的用例是 我想要一个可以提供给测试人员的链接 以确保他们为我的功能选择正确的标签 并且还将 git 问题分配给我 我发现格式是
  • 在Python中设置分区

    我有一个数组 1 2 3 我想使用数组的所有元素进行所有可能的组合 Result 1 2 3 1 2 3 1 2 3 1 3 2 1 2 3 既然这个好问题又被复活了 这里有一个新的答案 问题是递归解决的 如果你已经有一个分区n 1元素 你
  • 哪种方法可以测试乘法时有符号整数溢出?

    以下哪一项以符合标准的方式做了 正确的事 你可以假设m and n属于类型int 有符号整数 主要问题是有符号整数溢出 样本1 size t bytes n m if n gt 0 m gt 0 SIZE MAX n gt m alloca
  • Freemarker 中的继承/instanceof 检查

    我的用例是为用户提供在模板引擎的帮助下创建报告的可能性 因此 我提取了数据模型的相关部分 并将 Freemarker 集成为模板引擎 到目前为止 它工作得很好 但现在我的数据模型包含某些位置的继承 但 Freemarker 似乎不支持 in
  • java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;将 jersey ws 部署到 Weblogic 时

    我正在 Weblogic 12 上部署一个 Web 服务应用程序 该应用程序使用 jersey 因此依赖于javax ws rs api 2 0 1图书馆 但是 当我将其部署到服务器时 出现以下错误 Caused By java lang
  • Ember 产量参数传递

    我试图将参数传递给yield 块 但是我错过了一些我看不到的东西 案例如下 组件 table notes hbs table tbody each note in notes tr td yield note td tr each tbod
  • 文档没有包含 itext 的页面