直接以 PDF 格式打印通过 JSP 动态创建的输出

2024-01-13

我通过 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 转换方面做得很好,但它并不是神奇地工作:在您的情况下,涉及相当多的步骤。

基本上步骤是:

  1. PDF 导出按钮调用 Struts Action 或 Servlet,传递重新生成 JSP 所需的所有参数(即,与最初呈现的一样)。

  2. 此 Action 或 Servlet 必须调用 JSP(确保设置了所有必需的模型属性)并将响应写入字符串(而不是写入标准响应)。

  3. 将此字符串传递给 XHTMLRenderer 以生成 PDF。

  4. 将 HTMLRenderer 返回的 btye[] 流式传输到客户端。

我在这里使用简单的 Servlet 添加了一个完整的端到端示例。然而,其原理与 Struts2 或任何其他框架相同,因此您应该能够根据需要进行调整。

https://github.com/alanhay/jsp-to-pdf-exporter https://github.com/alanhay/jsp-to-pdf-exporter

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

直接以 PDF 格式打印通过 JSP 动态创建的输出 的相关文章

  • Python - 将 XLSX 转换为 PDF

    我一直用win32com我的开发服务器中的模块可以轻松转换xlsx to pdf o win32com client Dispatch Excel Application o Visible False o DisplayAlerts Fa
  • 从 PDF 中提取不可选择的内容

    我正在使用 Apache PDFBox 从 PDF 文件中提取页面 但找不到提取不可选择的内容 文本或图像 的方法 从 PDF 文件中选择内容是没有问题的 请注意 相关 PDF 在复制内容方面没有任何限制 至少从我在文件的 文档限制摘要 中
  • 在 JSTL 中使用枚举

    我正在尝试使用 jstl 进行一些网站开发 但遇到了 出现以下问题 这里我试图创建一个下拉列表 其中显示的值是 国家名称 值为国家代码 为了做到这一点我 在后端java代码中有以下枚举 public static enum CountryC
  • 如何将 JavaScript 库包含到 Spring MVC 项目中(例如 jQuery 或 Dojo)

    我在这里阅读了超过 5 个相关主题 但无法找到答案 分步说明 到目前为止 我已经有了 STS Spring MVC 模板结构并尝试将jquery js在我的项目中的某个地方 不幸的是 没有人说它应该在哪里 那么 请说 将 jquery js
  • 块/短语内的换行处理

    我对块文本中的换行符处理有点困惑 下面的代码 Paragraph para new Paragraph para add new Chunk A para add new Chunk n B para add new Chunk n C d
  • 如何在JSP中显示对象的数据

    我已通过注册表将一些用户详细信息存储到数据库 hibernate 和 spring 中 我想在单独的 JSP 页面中显示所有用户的用户详细信息 有人可以告诉我该怎么做吗 下面是我的控制器代码 Controller public class
  • 内容处置:ASP.Net 中的内联 PDF 文件不起作用

    我正在尝试将带有标题的 PDF 文件返回到浏览器Content Dispostion inline就在我创建这个文件之后 浏览器的查看者无法打开它 文件没有损坏 如果我放入浏览器 查看器会正确显示文件 但我想一次性创建文件并检查用户对文件的
  • Spring mvc 添加多行

    我需要你的帮助 因为标题说我在从 jsp 表单插入多行时遇到问题 该代码来自该网站的答案 控制器 ModelAttribute programform public ProgramForm populatePojos Don t forge
  • 如何使用 javascript 将 Html 页面转换为 PDF [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个java应用程序 它在网页中查看很少的结果 我想将这些结果保存到PDF文件中 用户单击 导出到PDF 按钮 任何人都可以帮助我使用
  • 使用 ITextSharp 从内存流附加 PDF 文件时遇到问题

    我在附加内存中创建的 PDF 文件并将其附加到电子邮件模板时遇到问题 电子邮件没有任何问题 但没有附件 我不明白为什么会发生这种情况 这是该过程的完整代码 ExtendedEmailTemplate emailTemp new Extend
  • 如何使用Python从pdf文件中删除页面?

    我有一些超过 500 页的 pdf 文件 但每个文件中只需要几页 有必要保留文档的标题页 我确切地知道程序应该删除的页数 如何使用安装在 MS Visual Studio 上的 Python 2 7 环境来完成此操作 尝试使用PyPDF2
  • 创建一个带有可填充字段的pdf python

    因此 我的任务是创建一个 pdf 允许最终用户在 pdf 中输入信息并打印或保存它 或者 我尝试创建的 pdf 是从具有可填充字段的 pdf 模板呈现的 我遇到的问题是 每次我使用任何 python 库 pypdf2 pdfrw repor
  • 如何从浏览器打印 PDF

    在Web应用程序中 是否可以强制在客户端上打印PDF文件 如果浏览器配置为在窗口内打开 PDF 我想调用 window print 会起作用 但某些浏览器 例如我的 被配置为在外部打开 PDF 谷歌文档的做法是将 JavaScript 嵌入
  • 隐藏嵌入的 pdf 周围的工具栏?

    虽然我认为答案可能在这另一个问题 https stackoverflow com questions 770949 how to disable the default toolbar of pdf page关于pdf规范的回答 是否可以不
  • jstl/jsp - 迭代 beans 向量

    我有一个 bean 向量 其中包含我想要在 jsp 页面中显示的信息 我目前只是使用标准 java 表达式来显示它 我想研究使用 jstl 来分离关注点 这可能吗 如何实现 我一直在谷歌搜索 但似乎找不到任何东西 我认为你正在寻找的是 ta
  • 在 portlet 中设置 SearchContainer 以使用 EL 和 JSTL 在 JSP 中使用它

    我正在尝试使用SearchContainer在我的liferay应用程序中 目前我必须使用 JSP Scriplets 来设置results in
  • 在 C# WinForms 中预览文档(Word、Excel、PDF、文本文件等)?

    我正在开发一个 C WinForms 应用程序 我希望能够 预览 其中的各种文档类型 也就是说 当用户从列表中选择文件名时 它会在下面以相同的形式显示所选文件的预览 这很像 Outlook 允许您无需双击即可预览选定邮件的方式 有没有什么方
  • JSP 标记文件,输出其正文或将其返回到变量中

    我在 tag 文件中有一个自定义标签 用于计算并输出一个值 因为我无法在这里发布代码 所以我们假设一个简单的例子 文件 mytag tag 的内容 lt tag dynamic attributes dynamicParameters gt
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • USB 上的 Autorun.inf 可以让它运行 pdf 吗?

    我在网上做了一些研究 我想我只是在寻找构象 由于 Microsoft 如何在 Vista 及更高版本中对自动运行设置安全性 从 USB 自动运行不再起作用 正确的 看起来它仍然会显示运行 exe 的选项 但由于某些奇怪的原因我无法让它运行

随机推荐

  • 在 ConfigParser 解析的请求模块上使用 URL 时,InvalidSchema("未找到 {!r}".format(url)) 的 URL

    我在配置文件中有一个 URL 我使用 ConfigParser 解析该 URL 以获取请求 配置文件 default root url https reqres in api users page 2 FetchFeeds py impor
  • 如何在 Windows shell 中向文件类型添加辅助动词?

    Windows shell 编程的基本思想是 您可以将给定的文件类型 扩展名 与 MS 当前调用的 progid 例如 Company Type Ver 相关联 HKCR txt Acme Text 1 HKCR Acme Text 1 这
  • Javascript 中触摸屏事件的文档

    在哪里可以找到 Javascript 中触摸屏事件的文档或参考 例如 触摸开始 我发现这个有用的链接http ross posterous com 2008 08 19 iphone touch events in javascript h
  • PHP中将单个数字分成一组唯一的随机数

    我想从一个预先确定的单个数字开始 然后有多个随机数字 当它们相加时 它们的总数就是我开始的数字 例如 我有 100 个 但想要 10 个随机数 将它们加在一起时等于 100 以我有限的知识 我写下了这样的内容
  • Elixir 变量真的是不可变的吗?

    在 Dave Thomas 的 Programming Elixir 一书中 他指出 Elixir 强制执行不可变数据 并接着说道 在 Elixir 中 一旦变量引用了诸如 1 2 3 之类的列表 您就知道它将始终引用相同的值 直到您重新绑
  • 如何从字符串转换为 XElement 对象

    我有一个像这样的字符串
  • STL Vector默认使用“new”和“delete”进行内存分配吗?

    我正在为应用程序开发一个插件 其中内存应该由应用程序分配并跟踪它 因此 内存句柄应该以缓冲区的形式从主机应用程序获取 然后将它们返回给应用程序 现在 我计划使用 STL Vectors 我想知道它内部使用什么样的内存分配 它在内部使用 新建
  • jquery悬停事件无法正常工作

    我有一个简单的水平菜单 当我将鼠标悬停在每个项目上时 子菜单会向下滑动 所以基本上它是我们经常看到的典型导航菜单 我希望当鼠标悬停时子菜单会在鼠标移出时向下和向上滑动 我的问题是 如果我在项目中快速移动鼠标 就会有多个子菜单保持可见 我猜这
  • RSS 是否跟踪保留或提交的内存?

    我正在 java 8 上使用不同的 jvm 选项进行实验 以降低 RSS 用于 Rss 跟踪的脚本 ps o rss o vsz o pid pid 用于设置 java 进程的 JVM 参数 XX PrintNMTStatistics XX
  • Laravel 5 中用于管理或身份验证的 Laravel 中间件

    我是 Laravel 的新手 不了解 Laravel 限制机制 我读过有关中间件的内容 但很困惑如何使用它 为什么使用它以及它如何工作 所以请指导我如何实现它以达到限制目的 即对于 auth sa 用户路由 确保您在数据库用户表中有角色列或
  • Sitecore 中子布局的多变量测试

    我过去曾尝试过这个概念 现在对在我公司的 Sitecore 网站上使用多变量测试感兴趣 我认为在很多地方我们绝对可以通过使用 A B 测试来提高销量 运行两个完全不同的模板 看看哪种布局更适合用户 在网站上运行许多不同的子布局 表单 以查看
  • PHP 中的重音符号 (`)(不是单引号)代表什么?

    在下面的示例中 第二行中的重音符号是什么意思 cmd ffmpeg i video deinterlace an ss second t 00 00 01 r 1 y vcodec mjpeg f mjpeg image 2 gt 1 re
  • 将版本放入我的 java 应用程序 - Netbeans

    有什么方法可以在 netbeans 中为我的应用程序提供版本号 然后在我的代码中访问该版本号 类似于我们在 Net 中使用的程序集号 在 java 或 netbeans 中是否有类似的东西 定义一个Implementation Versio
  • 保留 Spark Streaming 输出

    我正在从消息传递应用程序收集数据 我目前正在使用 Flume 它每天发送大约 5000 万条记录 我想用卡夫卡 使用 Spark Streaming 从 Kafka 消费 并将其保存到 hadoop 并使用 impala 进行查询 我尝试过
  • Vue.js 组件渲染后是否会触发事件?

    我在 Vue js 中有一些自定义组件 在我拥有的一个组件中有一个选择列表 我想将其呈现为Chosen http harvesthq github io chosen 选择框 我将其与 jQuery 函数一起使用 select chosen
  • 如何在 Firefox 和 Opera 中缩放 HTML 元素?

    如何在 Firefox 和 Opera 中缩放 HTML 元素 The zoom该属性在 IE Google Chrome 和 Safari 中有效 但在 Firefox 和 Opera 中无效 有什么方法可以将这个属性添加到 Firefo
  • JaxB读取类层次结构

    只是延伸使用 JaxB 解析类层次结构 https stackoverflow com questions 15676401 parsing class hierarchy using jaxb问题 想要使用 JaxB 读取以下 xml 文
  • 我需要引用命令替换吗?

    根据Google Shell 风格指南 https google github io styleguide shell xml Quoting 我应该 始终引用包含变量 命令替换 空格或 shell 元字符的字符串 除非需要小心的不带引号的
  • 是否可以让 Azure Pipeline 在提交时修改 README.md?

    我正在尝试在 Azure DevOps Repo 中自动生成和更新代码文档 我已经配置了一个管道 以便在提交到 master 分支时运行 python 脚本 该脚本从存储库中的文件中提取相关信息并创建一个 markdown 文件并将输出存储
  • 直接以 PDF 格式打印通过 JSP 动态创建的输出

    我通过 JSP 通过访问数据库动态打印报告 我正在使用Struts 框架和Java代码位于Action类中 最后通过显示输出 JSP 页面 它在屏幕上显示得很好 但在打印时却无法正常显示 我只想以 PDF 格式显示报告 而不是 JSP gt