我已经创建了2个pdf文件.它们位于以下文件夹中WebContent / pdf /
我已经扩展了Spring的AbstractpdfVIEw,以便即时生成pdf.
这次我想用它来
1)显示已创建的pdf,
2)使用itext将模型对象传递给第二个pdf,并填写已经创建的pdf表单字段.
我知道1)我可以创建一个链接并直接访问pdf.我试图通过扩展AbstractpdfVIEw访问它,因为我认为我需要在情况2中使用它.
我只是不确定如何获取资源,然后使用此类在浏览器中显示资源.
谁能请我示范如何完成此工作?
d簧-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" /> <bean ID="Populatedpdf" /></beans>
spring-servlet.xml
<bean ID="xmlVIEwResolver" > <property name="order" value="1"/> <property name="location"> <value>/WEB-INF/spring-pdf-vIEws.xml</value> </property></bean>
最佳答案我认为您实际上可能想继承AbstractpdfstamperVIEw的子类:http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/web/servlet/view/document/AbstractPdfStamperView.html
看起来您将AbstractpdfstamperVIEw子类的“ url”属性设置为现有pdf文件的路径:
<!-- Populatedpdf extends AbstractpdfstamperVIEw --><bean ID="Populatedpdf > <property name="url" value="/WEB-INF/pdfs/blankform.pdf" /></bean>
然后,您将需要重写mergepdfdocument():
@OverrIDeprotected voID mergepdfdocument(Map<String,Object> model,com.lowagIE.text.pdf.pdfstamper stamper,httpServletRequest request,httpServletResponse response) throws Exception { // follow example code for filling out a form using iText: // http://itextpdf.com/examples/iia.PHP?ID=122 AcroFIElds form = stamper.getAcroFIElds(); // form.setFIEld("fIEldname",model.get("fIEldname"));}
您可能需要查看iText pdfstamper文档,以了解所有可用的选项.
http://api.itextpdf.com/itext/index.html?com/itextpdf/text/pdf/PdfStamper.html 总结
以上是内存溢出为你收集整理的java-Spring AbstractPdfView显示已经在浏览器中创建了pdf 全部内容,希望文章能够帮你解决java-Spring AbstractPdfView显示已经在浏览器中创建了pdf 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)