Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的RTF到PDF_Java_Pdf_Pdf Generation_Rtf - Fatal编程技术网

Java中的RTF到PDF

Java中的RTF到PDF,java,pdf,pdf-generation,rtf,Java,Pdf,Pdf Generation,Rtf,我们正在构建一个与其他系统部分交互的应用程序。我们正在从另一个系统中提取一些数据,这些数据作为RTF文档返回。但我们必须阻止用户编辑此文件,因此我们考虑使用iText将其转换为PDF。代码段: // moving the rtf data into input stream to be used in RTF parser ByteArrayInputStream rtfInputStream = new ByteArrayInputStream(rtfStrea

我们正在构建一个与其他系统部分交互的应用程序。我们正在从另一个系统中提取一些数据,这些数据作为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已创建,但字体大小错误,样式错误,编码错误。也许你也有类似的问题,你解决了一些问题?也许有更好的解决方案?

考虑使用真正的文字处理器生成PDF。一种可能是OpenOffice,它有一个API来解决这类问题——我会在您的情况下研究它


PDF可以在以后使用其他开源软件进行保护。

根据这一点,Itext正在放弃RTF。
我使用的一个很好的解决方案是。它利用了OpenOffice,过去我能够将数千个RTF文档转换为PDF。

PDF文件可以编辑,因此您的问题的全部依据都是错误的。你要么需要解释你想要完成什么,要么重新思考你是如何完成的。pdf文件可以轻松编辑,但大多数用户只有在读卡器中打开它们,这样它们才相对安全可靠。也许错了,这太完美了!我只是想让它工作。然而,您是否已经设法从一个流转换到另一个流?我不能让这个工作,但除此之外,它工作得非常好。JODConverter依赖于OpenOffice。是否有其他不需要安装任何软件的库?也就是说,我们可以将所有库捆绑在一起,无需任何外部安装。