XML in pdf umwandeln unter J2EE

shocking

Mitglied
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:
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
 
Hallo,

da das hier ein XML-Forum ist, wäre es vielleicht besser XML, bzw XSLT-Code zu posten. :)
Es sieht nämlich auch so aus, dass der Fehler in einen von beiden Dateien liegt.
Wenn du die Dateien postet, nutze aber bitte die Code-Tags, sonst wird ein Beitrag immer so lang und unübersichtlich. Danke

MFG

zEriX
 

Neue Beiträge

Zurück