I am creating a very simple document and am able to save it out as a word document, when I save it out as a PDF document I get an exception inside the Aspose code. Here is what I am doing:
try {
if(extension.equalsIgnoreCase(“doc”)) {
response.setContentType(“application/msword”);
document.save(response.getOutputStream(), SaveFormat.DOC);
} else {
response.setContentType(“application/pdf”);
PdfOptions options = new PdfOptions();
options.setHeadingsOutlineLevels(3);
options.setExpandedOutlineLevels(1);
options.setTrueTypeFontsFolder("/System/Library/Fonts");
document.saveToPdf(0, document.getPageCount(), response.getOutputStream(), options);
options.setHeadingsOutlineLevels(3);
options.setExpandedOutlineLevels(1);
options.setTrueTypeFontsFolder("/System/Library/Fonts");
document.saveToPdf(0, document.getPageCount(), response.getOutputStream(), options);
}
} catch (Exception e) {
e.printStackTrace();
return "Problem exporting word document: " + e.getMessage();
}
Is this something that should work? The exception that is is thrown is as follows. I wonder does the exception give any clues into what I might need to do to workaround this unfortunate issue? It is entirely possible that I do not have all of the fonts required. How do I determine which fonts the document will need? I know I am using Helvetica for sure.
java.lang.IllegalStateException: End of file reached.
at asposewobfuscated.rm.lM(BigEndianBinaryReader.java:114)
at asposewobfuscated.rm.iW(BigEndianBinaryReader.java:39)
at asposewobfuscated.qx.UL(TTFontFiler.java:351)
at asposewobfuscated.qx.iy(TTFontFiler.java:200)
at asposewobfuscated.qx.iF(TTFontFiler.java:775)
at asposewobfuscated.qx.UW(TTFontFiler.java:752)
at asposewobfuscated.qx.iz(TTFontFiler.java:321)
at asposewobfuscated.qx.B(TTFontFiler.java:117)
at asposewobfuscated.qx.A(TTFontFiler.java:42)
at asposewobfuscated.oa.hc(PalFont.java:24)
at com.aspose.words.xb.Hd(SpanPr.java:231)
at com.aspose.words.sf.rr(Span.java:730)
at com.aspose.words.sf.getWidth(Span.java:593)
at com.aspose.words.zq.Jy(LineBuilder.java:88)
at com.aspose.words.zq.Jx(LineBuilder.java:30)
at com.aspose.words.bz.V(LinePart.java:281)
at com.aspose.words.dr.a(CellBuilder.java:278)
at com.aspose.words.dr.a(CellBuilder.java:59)
at com.aspose.words.mk.V(CellPart.java:190)
at com.aspose.words.da.a(RowBuilder.java:48)
at com.aspose.words.agu.V(RowPart.java:104)
at com.aspose.words.ay.V(HeaderFooterPart.java:154)
at com.aspose.words.ahj.nG(HeaderFooterSectionLayout.java:55)
at com.aspose.words.ql.nG(StoryLayoutBase.java:88)
at com.aspose.words.mw.d(PageBuilder.java:368)
at com.aspose.words.mw.a(PageBuilder.java:37)
at com.aspose.words.aji.b(SectionReflower.java:40)
at com.aspose.words.il.nG(MainTextSectionLayout.java:757)
at com.aspose.words.ql.nG(StoryLayoutBase.java:88)
at com.aspose.words.mu.nG(PageLayoutModel.java:124)
at com.aspose.words.yz.a(LayoutDocument.java:33)
at com.aspose.words.Document.updatePageLayout(Document.java:1637)
at com.aspose.words.Document.Iu(Document.java:1590)
at com.aspose.words.Document.getPageCount(Document.java:1618)
at au.edu.unimelb.policy.servlet.PdfServlet.generateDocument(PdfServlet.java:136)
at au.edu.unimelb.policy.servlet.PdfServlet.doPost(PdfServlet.java:108)
at au.edu.unimelb.policy.servlet.PdfServlet.doGet(PdfServlet.java:72)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at au.edu.unimelb.security.AuthorisationFilter.urlFilter(AuthorisationFilter.java:508)
at au.edu.unimelb.security.AuthorisationFilter.doFilter(AuthorisationFilter.java:199)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at au.edu.unimelb.policy.UrlFilter.doFilter(UrlFilter.java:139)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:637)