Мы создаем приложение, которое частично взаимодействует с другой системой. Мы извлекаем некоторые данные из другой системы, которая возвращается в виде документа RTF. Но мы должны запретить пользователям редактировать этот файл, поэтому мы подумали о преобразовании его с помощью iText в PDF. Фрагмент кода:
// 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 создан, но размеры шрифта неправильные, стиль неправильный и кодировка неправильная. Может быть, у вас были похожие проблемы, и вы что-то решили? Может быть есть лучшие решения?