RTF zu PDF in Java

Wir bauen eine Anwendung, die teilweise mit anderen Systemen interagiert. Wir ziehen einige Daten aus dem anderen System, das als RTF-Dokument zurückgegeben wird. Wir müssen jedoch verhindern, dass Benutzer diese Datei bearbeiten. Deshalb haben wir uns überlegt, sie mit iText in PDF umzuwandeln. Code-Auszug

        // moving the rtf data into input stream to be used in RTF parser
        ByteArrayInputStream rtfInputStream = new ByteArrayInputStream(rtfStream.toByteArray());

        // set headers
        resp.setHeader("Cache-Control", "no-store");
        resp.addHeader("Content-Type", "application/pdf");
        resp.addHeader("Content-Disposition", "inline; filename=Karta.pdf");
        resp.setStatus(HttpServletResponse.SC_OK);


        // pdf output stream
        ByteArrayOutputStream pdfStream = new ByteArrayOutputStream();

        Document pdfDoc = new Document();

        PdfWriter pdfWriter = PdfWriter.getInstance(pdfDoc, pdfStream);

        pdfDoc.open();

        RtfParser rtfParser = new RtfParser(null);

        rtfParser.convertRtfDocument(rtfInputStream, pdfDoc);
        pdfDoc.close();

        pdfWriter.close();

        resp.getOutputStream().write(pdfStream.toByteArray());

        rtfInputStream.close();
        pdfStream.close();
        is.close();

Pdf wird erstellt, aber die Schriftgrößen sind falsch, das Styling ist falsch und die Kodierung ist falsch. Vielleicht hattest du ähnliche Probleme und hast etwas herausgefunden? Vielleicht gibt es bessere Lösungen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage