Spring AbstractPdfView 在浏览器中显示已经创建的pdf
我已经创建了 2 个 pdf 文件。它们位于以下文件夹中 WebContent/pdf/
我之前已经扩展了 Spring 的 AbstractPdfView 来动态制作 pdf。
这次我想用它来
1)显示已经创建的 pdf 和 2) 使用 itext 将模型对象传递给第二个 pdf 并填写已创建的 pdf 表单字段。
我知道 1)我可以创建一个链接并直接访问 pdf。我试图通过扩展 AbstractPdfView 来访问它,因为我相信我需要在情况 2)中使用它。
我只是不确定如何获取资源,然后使用此类将其显示在浏览器中。
谁能告诉我如何通过示例来完成此任务?
spring-pdf-views.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="BlankPDF" class="com.example.BlankPDF"/>
<bean id="PopulatedPDF" class="com.example.PopulatedPDF"/>
</beans>
spring-servlet.xml
<bean id="xmlViewResolver" class="org.springframework.web.servlet.view.XmlViewResolver">
<property name="order" value="1"/>
<property name="location">
<value>/WEB-INF/spring-pdf-views.xml</value>
</property>
</bean>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您实际上可能想继承 AbstractPdfStamperView :
http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/web/servlet/view/document/AbstractPdfStamperView.html
看起来你设置了AbstractPdfStamperView 子类的“url”属性是现有 PDF 文件的路径:
然后您需要重写 mergePdfDocument():
您可能想要查看 iText PdfStamper 文档可帮助您了解所有选项。
http://api.itextpdf.com/itext /index.html?com/itextpdf/text/pdf/PdfStamper.html
I think you may actually want to subclass AbstractPdfStamperView instead:
http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/web/servlet/view/document/AbstractPdfStamperView.html
It looks like you set the "url" property of your AbstractPdfStamperView subclass to be the path to your existing PDF file:
Then you will need to override mergePdfDocument():
You probably will want to look at the iText PdfStamper docs to figure out what all your options are there.
http://api.itextpdf.com/itext/index.html?com/itextpdf/text/pdf/PdfStamper.html