Hi,
ich habe mich an demselben Thema versucht, scheitere aber offensichtlich.
Ich habe das ganze direkt in ein Servlet gepackt und möchte ankommende Daten in pdf umwandeln. Hier mein Code:
Das Problem ist, dass ich folgende Fehlermeldung erhalte:
STDERR] System-ID unbekannt; Zeilennummer1; Spaltennummer1; Content is not allowed in prolog.
Ich weiß mit diesem Fehler leider nichts anzufangen...
Hat einer von Euch nen Tipp für mich?
Gruß shocking
ich habe mich an demselben Thema versucht, scheitere aber offensichtlich.
Ich habe das ganze direkt in ein Servlet gepackt und möchte ankommende Daten in pdf umwandeln. Hier mein Code:
Code:
public class pdfServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{
response.setContentType("application/pdf");
Document doc = new Document(new Element("root"));
Element rootElement = doc.getRootElement();
String[] elements = {"Eins", "Zwei"};
String[] content = {"eins", "zwei"};
for (int i = 0; i < elements.length; i++) {
Element element = new Element(elements[i]);
element.addContent(content[i]);
rootElement.addContent(element);
}
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
FileOutputStream output = new FileOutputStream("offer.xml");
outputter.output(doc, output);
//Setup a buffer to obtain the content length
ByteArrayOutputStream out = new ByteArrayOutputStream();
//Setup FOP
FopFactory fopFactory = FopFactory.newInstance();
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out);
//Setup Transformer
String fnXsl = getServletContext().getRealPath("/pdfStylesheet.xsl");
Source xsltSrc = new StreamSource(new File(fnXsl));
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(xsltSrc);
//Make sure the XSL transformation's result is piped through to FOP
Result res = new SAXResult(fop.getDefaultHandler());
//Setup input
Reader reader = new StringReader(doc.toString());
StreamSource src = new StreamSource(reader);
//Start the transformation and rendering process
transformer.transform(src, res);
//Prepare response
response.setContentLength(out.size());
//Send content to Browser
response.getOutputStream().write(out.toByteArray());
response.getOutputStream().flush();
}
catch (Exception ex){
ex.printStackTrace();
}
}
Das Problem ist, dass ich folgende Fehlermeldung erhalte:
STDERR] System-ID unbekannt; Zeilennummer1; Spaltennummer1; Content is not allowed in prolog.
Ich weiß mit diesem Fehler leider nichts anzufangen...
Hat einer von Euch nen Tipp für mich?
Gruß shocking