RTF a PDF en Java
Estamos creando una aplicación que interactúa parcialmente con otro sistema. Estamos obteniendo algunos datos del otro sistema que se devuelve como documento RTF. Pero tenemos que evitar que los usuarios editen este archivo, por lo que pensamos en convertirlo con iText a PDF. Fragmento de código:
// 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();
Se crea PDF pero los tamaños de fuente son incorrectos, el estilo es incorrecto y la codificación es incorrecta. ¿Quizás tuviste problemas similares y resolviste algo? Tal vez hay mejores soluciones?