https://issues.apache.org/bugzilla/show_bug.cgi?id=46364
Summary: FOP not convert XSL-FO to PDF
Product: Fop
Version: 0.95
Platform: PC
OS/Version: Linux
Status: NEW
Severity: critical
Priority: P3
Component: pdf
AssignedTo: [email protected]
ReportedBy: [EMAIL PROTECTED]
Error:
org.xml.sax.SAXParseException: White space is required after "<!ENTITY" in the
entity declaration.
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
at witec30.XHTML2PDF.convertFO2PDF(XHTML2PDF.java:85)
at witec30.XHTML2PDF.execute(XHTML2PDF.java:141)
at
br.com.itx.integration.AbstractConnector.execute(AbstractConnector.java:45)
at br.com.itx.engine.CoreConnector.execute(CoreConnector.java:67)
at
br.com.itx.component.taglib.ExecuteCore.doStartTag(ExecuteCore.java:97)
at
org.apache.jsp.rat.pdf_005fdownload_005fpre_jsp._jspx_meth_w_executeCore_8(pdf_005fdownload_005fpre_jsp.java:915)
at
org.apache.jsp.rat.pdf_005fdownload_005fpre_jsp._jspService(pdf_005fdownload_005fpre_jsp.java:245)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at br.com.itx.engine.Execute.doJsp(Execute.java:465)
at br.com.itx.engine.Execute.doPost(Execute.java:416)
at br.com.itx.engine.Execute.doGet(Execute.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Java code:
public String convertFO2PDF(WIMap wiMap, String fo, String pdf) throws
IOException, FOPException {
OutputStream out = null;
String status = "true";
try {
FopFactory fopFactory = FopFactory.newInstance();
FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
// configure foUserAgent as desired
if (!wiMap.get("tmp.baseurl_pdf").equals(""))
foUserAgent.setBaseURL(wiMap.get("tmp.baseurl_pdf"));
if (!wiMap.get("tmp.creator_pdf").equals(""))
foUserAgent.setCreator(wiMap.get("tmp.creator_pdf"));
if (!wiMap.get("tmp.producer_pdf").equals(""))
foUserAgent.setProducer(wiMap.get("tmp.producer_pdf"));
if (!wiMap.get("tmp.author_pdf").equals(""))
foUserAgent.setAuthor(wiMap.get("tmp.author_pdf"));
if (!wiMap.get("tmp.title_pdf").equals(""))
foUserAgent.setTitle(wiMap.get("tmp.title_pdf"));
if (!wiMap.get("tmp.keywords_pdf").equals(""))
foUserAgent.setKeywords(wiMap.get("tmp.keywords_pdf"));
if (!wiMap.get("tmp.resolution_pdf").equals(""))
foUserAgent.setTargetResolution(Integer.parseInt(wiMap.get("tmp.resolution_pdf")));
// =300dpi (dots/pixels per Inch)
foUserAgent.setCreationDate(new Date());
foUserAgent.getRendererOptions().put("encryption-params",
this.param);
// Setup output stream. Note: Using BufferedOutputStream
// for performance reasons (helpful with FileOutputStreams).
out = new FileOutputStream(new File(pdf));
out = new BufferedOutputStream(out);
// Construct fop with desired output format
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent,
out);
// Setup JAXP using identity transformer
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(); // identity
transformer
// Setup input stream
Source src = new StreamSource(new File(fo));
// Resulting SAX events (the generated FO) must be piped through to
FOP
Result res = new SAXResult(fop.getDefaultHandler());
// Start XSLT transformation and FOP processing
transformer.transform(src, res);
// Result processing
FormattingResults foResults = fop.getResults();
java.util.List pageSequences = foResults.getPageSequences();
for (java.util.Iterator it = pageSequences.iterator();
it.hasNext();) {
PageSequenceResults pageSequenceResults =
(PageSequenceResults)it.next();
wiMap.put("tmp.xhtml2pdf.convertFO2PDF.message", "PageSequence
"
+ (String.valueOf(pageSequenceResults.getID()).length()
> 0
? pageSequenceResults.getID() : "<no id>")
+ " generated " + pageSequenceResults.getPageCount() +
" pages.");
}
wiMap.put("tmp.xhtml2pdf.qtdpages", foResults.getPageCount());
} catch (Exception e) {
status = "false";
wiMap.put("tmp.xhtml2pdf.convertFO2PDF.err", e.getMessage());
e.printStackTrace(System.out);
} finally {
out.close();
return status;
}
}
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.