. 구현을 위해 struts2
을 사용합니다. 나는 그것을 생성 pdf
을 수행하고 자바에서 모든 것을 함께 docx
파일을 채우고,이 https://github.com/opensagres/xdocreport/wiki/DocxReportingStruts2생성 된 PDF를 웹 응용 프로그램 디렉토리 [xdocreport]에 저장하는 방법? 내가 <strong><code>*.docx</code></strong> 파일에서 <strong><code>pdf</code></strong> 문서를 생성하기 위해 <strong><code>xdocreport</code></strong>을 사용하고
나는 그것이 제대로 작동해야합니까 따랐다.
내 문제는 :주기가 완료되면 생성 된 파일을 사용자에게 직접 다운로드하여 다운로드하도록합니다. 따라서 xdocreport
이 모든 것을 생성하면 사용자의 브라우저에서 다운로드를 시작합니다.
대신, 나는 pdf
는 웹 응용 프로그램에서 [또는 같은 드라이브에 별도의 폴더에] 디렉토리에 저장 한 다음 거기에서 나는 그가 그것을 다운로드하고자하는 경우 사용자에게 묻고 싶다 또는 생성하려면 아니, 그가 예를 클릭하면 다운로드하십시오. 또한, 나는 pdf
문서의 백업을 생성해야하므로, 어떻게 든 먼저 생성하고 웹 응용 프로그램 [또는 동일한 드라이브의 별도 폴더] 폴더에 저장 한 다음 사용자에게 제공해야합니다.
어떻게 동작을 변경할 수 있습니까? [답변을 아래에 기반]
EDIT1 :
그래서 지금은이 예외를 throw하지만, 그것을 던져 비록 내가 브라우저에 표시된 변환 된 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)
웹 응용 프로그램 디렉토리에 아무것도 저장하는 것은 끔찍한 생각입니다. 확장되지 않은 WAR 파일이 부족한 경우 웹 응용 프로그램 디렉토리가 없습니다. 디스크에 저장해야하는 경우 시스템 등록 정보 java.io.tmpdir을 사용하고 배치에서 올바르게 설정되어 있는지 확인해야합니다. @ YimGarrison, –
동의합니다. 같은 드라이브에 별도의 폴더를 만들 수도 있지만 질문은 동일하게 유지됩니다. 어떻게하면'xdoxreport'의 동작을 변경하여 생성 된 파일을 서버 측에 먼저 저장할 수 있습니까? – Daler