当前位置: 首页 > 面试题库 >

使用Java将RTF转换为PDF

养研
2023-03-14
问题内容

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


问题答案:

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



 类似资料:
  • 问题内容: 我们有一个水晶报表,我们需要将其作为电子邮件发送出去,但是从水晶报表生成的HTML几乎很丑陋,并且导致某些电子邮件客户端出现问题。我想将其导出为富文本格式,并尽可能将其转换为HTML。 有什么建议么? 问题答案: 我会在CodeProject RTFConverter上签出此工具。这个家伙很好地细分了程序的工作方式以及转换的细节。

  • 问题内容: 我想将PDF页面转换为图像(PNG,JPEG / JPG或GIF)。我希望它们有整页尺寸。 使用Java如何做到这一点?哪些库可用于实现此目的? 问题答案: 您将需要一个PDF渲染器。市场上有一些或多或少的好工具(ICEPdf,pdfrenderer),但是如果没有,您将不得不依靠外部工具。免费的PDF渲染器也无法渲染嵌入的字体,因此仅适用于创建缩略图(您最终想要的)。 我最喜欢的外部

  • 问题内容: 我打算通过将其编码为JSON来发送充满数据的Javascript数组对象。任何好的jQuery插件吗? 在Java端,将JSON解析为Java数组的标准方法是什么? 总体流程如下: Javascript会在当前页面上编译一堆数据并将其存储在数组中。 数组对象编码为JSON。 Java代码保存JSON。 对每个页面重复执行并用Java代码编译成功的JSON。 Java代码向服务器提交一个

  • 问题内容: 我有一组CSV数据要转换为XML。代码看起来不错,但是输出不够完美。它忽略了一些列,因为它们没有值,并且产生了很长的XML数据行,而不是破坏它。 这是我的CSV数据示例: 而我的代码: 当对以上数据执行此代码时,将产生: 我本人以这种形式安排它,但是输出结果很长。产生的输出应为: 问题答案: 我同意Kennet。 我只是添加了 这在元素之间添加了新行,并允许缩进。 更新 首先,我们要介

  • 问题内容: 我想使用Java将以下日期转换为AEST格式。 2018-01-08T02:10:24.000 + 0000w 下面是我用来转换的代码。 模式有问题吗?请提出建议。 问题答案: 解析日期字符串时,必须使用格式化程序。另外,您还需要告诉它更改区域或区域偏移,以使其进入AEST / AEDT。 这可能起作用: 偏移量将显示为“ +1000”或“ +1100”,具体取决于一年中的时间。

  • 本文向大家介绍Java使用poi将word转换为html,包括了Java使用poi将word转换为html的使用技巧和注意事项,需要的朋友参考一下 使用poi将word转换为html,支持doc,docx,转换后可以保持图片、样式。 1.导入Maven包 2.转换代码 演示地址: https://www.xiaoyun.studio/app/preview.html 以上就是本文的全部内容,希望对