From: Mathieu Baudier Date: Fri, 13 May 2022 06:24:43 +0000 (+0200) Subject: Simplify PDF generation from DocBook X-Git-Tag: v2.3.8~109 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=21f71ef7f7a823f26fb75c70568579d922f4cb36 Simplify PDF generation from DocBook --- diff --git a/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/DbkServlet.java b/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/DbkServlet.java index f1d2676..d3459cf 100644 --- a/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/DbkServlet.java +++ b/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/DbkServlet.java @@ -143,23 +143,29 @@ public class DbkServlet extends HttpServlet { FopFactory fopFactory = FopFactory.newInstance(URI.create(req.getRequestURL().toString())); resp.setContentType("application/pdf"); - // DocBook to FO - byte[] foBytes; - try (ByteArrayOutputStream out = new ByteArrayOutputStream();) { - Result xmlOutput = new StreamResult(out); - Transformer docBookTransformer = docBoookFoTemplates.newTransformer(); - docBookTransformer.transform(xmlInput, xmlOutput); - foBytes = out.toByteArray(); - } - - // FO to PDF - try (InputStream foIn = new ByteArrayInputStream(foBytes)) { - Fop fop = fopFactory.newFop("application/pdf", resp.getOutputStream()); - Transformer fopTransformer = transformerFactory.newTransformer(); // identity - Source src = new StreamSource(foIn); - Result fopResult = new SAXResult(fop.getDefaultHandler()); - fopTransformer.transform(src, fopResult); - } +// // DocBook to FO +// byte[] foBytes; +// try (ByteArrayOutputStream out = new ByteArrayOutputStream();) { +// Result xmlOutput = new StreamResult(out); +// Transformer docBookTransformer = docBoookFoTemplates.newTransformer(); +// docBookTransformer.transform(xmlInput, xmlOutput); +// foBytes = out.toByteArray(); +// } +// +// // FO to PDF +// try (InputStream foIn = new ByteArrayInputStream(foBytes)) { +// Fop fop = fopFactory.newFop("application/pdf", resp.getOutputStream()); +// Transformer fopTransformer = transformerFactory.newTransformer(); // identity +// Source src = new StreamSource(foIn); +// Result fopResult = new SAXResult(fop.getDefaultHandler()); +// fopTransformer.transform(src, fopResult); +// } +// + + Fop fop = fopFactory.newFop("application/pdf", resp.getOutputStream()); + Transformer docBookTransformer = docBoookFoTemplates.newTransformer(); + Result fopResult = new SAXResult(fop.getDefaultHandler()); + docBookTransformer.transform(xmlInput, fopResult); } else { Result xmlOutput = new StreamResult(resp.getOutputStream());