我正在使用从文件xdocreport
生成文档。我用于实施。我跟着这个https://github.com/opensagres/xdocreport/wiki/DocxReportingStruts2pdf
*.docx
struts2
我确实让它正常工作,它确实生成pdf
并使用 java.util.Date 中的所有内容填充docx
文件。
我的问题是:一旦循环完成,它会将生成的文件直接扔给用户下载。因此,一旦xdocreport
生成了所有内容,用户的浏览器就会开始下载它。
相反,我希望将生成的文件pdf
保存在网络应用程序[或同一驱动器单独的文件夹]目录中,然后从那里我想问用户是否要下载它,如果他单击是,然后下载它。此外,我必须备份生成的pdf
文档,所以我必须先以某种方式生成并将其保存在 web 应用程序 [或同一驱动器单独的文件夹]文件夹中,然后将其提供给用户。
我怎样才能改变它的行为?
EDIT1 [基于以下答案]:
所以现在它抛出了这个异常,但即使它抛出了它,我也可以在浏览器上看到转换后的 pdf,但我无法打开文件系统中生成的 pdf 文档本身。
* ERROR 2016-08-04 09:33:16,079 ExceptionConverter: org.eclipse.jetty.io.EofException (XWPF2PDFViaITextConverter.java [qtp559888791-19])
* ERROR 2016-08-04 09:33:16,096 Error while executing action (ExceptionInterceptor.java [qtp559888791-19])
fr.opensagres.xdocreport.converter.XDocConverterException: org.apache.poi.xwpf.converter.core.XWPFConverterException: ExceptionConverter: org.eclipse.jetty.io.EofException
at fr.opensagres.xdocreport.converter.docx.poi.itext.XWPF2PDFViaITextConverter.convert(XWPF2PDFViaITextConverter.java:72)
at fr.opensagres.xdocreport.document.AbstractXDocReport.convert(AbstractXDocReport.java:713)
at org.apache.struts2.views.xdocreport.AbstractXDocReportResult.doProcessReportWithConverter(AbstractXDocReportResult.java:561)
at org.apache.struts2.views.xdocreport.AbstractXDocReportResult.doExecute(AbstractXDocReportResult.java:284)
at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:191)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:369)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:273)