我們正在構建一個與其他系統部分交互的應用程序。我們從其他系統提取一些數據作爲RTF文檔返回。但是我們必須阻止用戶編輯這個文件,所以我們考慮將它與iText轉換爲PDF。代碼片段:從Java到RTF轉換爲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已創建,但字體大小錯誤,樣式錯誤,編碼錯誤。也許你有類似的問題,你有什麼工作?也許有更好的解決方案?
PDF文件可以編輯,所以你的問題的整個基礎是錯誤的。你或者需要解釋你想要完成的事情,或者重新思考你是如何做到的。 – msw 2010-08-28 15:22:40
pdf文件可以輕鬆編輯,但MOST的用戶只打開閱讀器,因此它們相對安全可靠。也許錯了。 – tgkprog 2014-01-17 07:32:40