我通过 JSP 通过访问数据库动态打印报告。我正在使用Struts
框架和Java代码位于Action类中。最后通过显示输出
JSP 页面。它在屏幕上显示得很好,但在打印时却无法正常显示。
我只想以 PDF 格式显示报告,而不是 JSP -> HTML 格式或 JSP
页面应包含一个PRINT IN PDF
按钮/链接来完成这项工作。
我在用iText
在其他模块中创建PDF文件,但太耗时。这次
我想捕获页面中的 JSP 输出并以 PDF 格式打印。如何捕获JSP
在同一个JSP页面中输出以不同的格式打印?
我正在使用iTextrenderer
但无法打印。成功转换 URL
包含 HTML 文件,但如何创建InputStream
从 JSP 输出并使用iText Renderer
或者任何其他方法?可以这样做吗?请提出解决方案。
我可以在这里看到你想做什么。 FlyingSaucer/XHTMLRenderer 在 HTML > PDF 转换方面做得很好,但它并不是神奇地工作:在您的情况下,涉及相当多的步骤。
基本上步骤是:
PDF 导出按钮调用 Struts Action 或 Servlet,传递重新生成 JSP 所需的所有参数(即,与最初呈现的一样)。
此 Action 或 Servlet 必须调用 JSP(确保设置了所有必需的模型属性)并将响应写入字符串(而不是写入标准响应)。
将此字符串传递给 XHTMLRenderer 以生成 PDF。
将 HTMLRenderer 返回的 btye[] 流式传输到客户端。
我在这里使用简单的 Servlet 添加了一个完整的端到端示例。然而,其原理与 Struts2 或任何其他框架相同,因此您应该能够根据需要进行调整。
https://github.com/alanhay/jsp-to-pdf-exporter https://github.com/alanhay/jsp-to-pdf-exporter
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)