Java 中的 RTF 转 PDF

2023-11-30

我们正在构建一个与其他系统部分交互的应用程序。我们正在从其他系统中提取一些数据,这些数据以 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 根据此放弃 RTFpost。 我用过的一个很好的解决方案是JODCoverter 库。它利用 OpenOffice,我过去能够将数千个 RTF 文档转换为 PDF。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中的 RTF 转 PDF 的相关文章

  • 当同级滚动到达末尾时打开底部工作表吗?

    有没有办法将滚动事件从一个滚动视图 转发 到我的底部工作表 以便当我过度滚动第一个滚动视图时我的底部工作表开始展开 考虑这个小应用程序 public class MainActivity extends AppCompatActivity
  • 模拟匿名函数

    我正在编写 jUnits 但被 Lambda 表达式困住了 有没有办法模拟匿名函数 return retryTemplate execute retryContext gt return mockedResponse 在上面的代码中 我试图
  • 我在 android 上使用 java 时遇到异常 (java.lang.NoClassDefFoundError),为什么?

    这是我运行的线路 AudioInputStream clip1 AudioSystem getAudioInputStream new File wavFile1 这是我得到的异常 来自 LogCat 错误 AndroidRuntime 3
  • CompletableFuture:几个任务

    如何使用 5 个 CompletableFutures 异步执行 20 个 Runnable 任务 或 1 个任务 20 次 这就是我所拥有的 Runnable task gt long startTime System currentTi
  • PSQLException 没有被捕获

    我正在使用 Tomcat 6 和 Postgresql 8 4 我的代码如下所示 try Prepared statement inserting something catch final PSQLException e LOG log
  • 异步 Spring MVC 控制器方法后记录响应正文

    我的 Spring MVC 应用程序中有以下内容 RestController public class SomeController GetMapping value csv produces text csv MediaType APP
  • 以行和列模式打印字符串 Java

    我刚刚创建了一个java项目来打印在行和列中给出的字符串 就像矩阵一样 这是我刚刚制作的输出 h e l l o w o r l d i t s b e a u t i f u l 是否可以将输出显示为像这样的螺旋图案 h e l l o
  • 不支持的major.minor版本52.0错误[重复]

    这个问题在这里已经有答案了 我有在 JDK 1 8 上编译的代码 我创建了 war 文件并将其部署在运行 JRE 1 8 的 Ubuntu 服务器中的 Tomcat8 上 我打开主页的时候出现这个错误 java lang Unsupport
  • gradlew:appengineEnhance 失败

    我正在使用 Java 创建移动后端Google App Engine with Android Studio 为了启动公开我的 API 的本地服务器 我使用gradlew module name appengineRun 然而 当我去htt
  • 将 Scala 库转换为 DLL (.NET)

    我正在尝试从 scala 类创建一个 Dll 我将 IntelliJ 与 SBT 一起使用 我已经找到了一种使用 ikvm converter 将 jar 文件转换为 Dll 的方法 现在的问题是 当我在 SBT 下使用 package 从
  • 为什么此代码会失败并显示 sourceCompatibility=1.8 [重复]

    这个问题在这里已经有答案了 以下代码在使用 sourceCompatibility 1 7 或 1 6 编译时有效 但在切换到 1 8 后失败 public class Java8Wat interface Parcelable stati
  • Java 中 float 和 double 基元的比较

    我发现了Java的一个奇怪的角落 我觉得很奇怪 double dd 3 5 float ff 3 5f System out println dd ff 输出 正确 double dd 3 2 float ff 3 2f System ou
  • 配置 Restlet 以在 Google App Engine 上返回 JSP?

    我开发了一个 Restlet 应用程序 我想通过 Restlet 返回一个 URL 请求的 JSP 文件 在不使用重定向的情况下如何实现此目的 IE 假设我在 mydomain com 上有文件 contact jsp 并且我希望人们能够访
  • 在 pom 中添加 selenium 依赖项后,AWS Lambda Jar 无法压缩

    这是一个奇怪的错误 将 selenium 依赖项添加到我的 maven 项目的 pom 并将其上传到 lambda 后 它说无法解压缩文件 然而 在删除依赖项之后 lambda 能够很好地解压缩文件 但是它会出现一个随后找不到的类 我尝试一
  • Java字符串模式识别

    我有一个大约一千个字符长的字符串 由 L T 和 A 组成 我很确定其中有一个简单的模式 我想知道是否有任何快速简便的方法可以找到它 该字符串会发生变化 因此这不仅仅是一次性的 我正在寻找的模式例如如果字符串是 LLLLLLLLAATAAL
  • 为什么在 GWT(或任何 Web 应用程序)中使用命令模式?

    根据这个视频 7 50 Google 建议在其请求处理 API 之上使用命令模式 还有一个看起来很有帮助的项目gwt 调度 http code google com p gwt dispatch 实现该模式 根据 gwt 调度我需要为每个命
  • OkHttp如何获取Json字符串?

    Solution 这是我这边的一个错误 正确的方法是响应 body string 以外响应 body toString 我使用 Jetty servlet URL 是http 172 16 10 126 8789 test path jso
  • 将 s:element 和 s:complexType 命名为相同的名称

    将 s element 和 s complexType 命名为相同名称是否合法 可以看到下面的代码 element和complextype具有完全相同的名称 这是 wsdl 文件的一大块
  • Json 对象 - 获取键和值

    我是 JSON 的新手 所以 如果这是一个非常基本的疑问 请不要责骂我 我有一个 JSON 对象引用 我想获取 Key 对象只有一个键值对 我如何在 Java 中获得它 您可以使用jsonObject keys 获取所有钥匙 然后您可以迭代
  • 逆变方法参数类型

    wiki 逆变方法参数类型 https en wikipedia org wiki Covariance and contravariance 28computer science 29 Contravariant method argum

随机推荐

  • 将Android ArrayList的内容发送到PHP

    我是一名 PHP 开发人员 中级 在家练习一些 Android 的东西 我已经创建了一个数组列表 它将提取到我的 Android 应用程序内的 sqlite 数据库中并填充 ListView 现在我正试图将这一水平更进一步 我想将该数组列表
  • 如何使用 C# 检测包含尾随逗号的无效 JSON?

    是的 是的 我知道有无数关于检测无效 Json 的帖子 他们都说同样的事情 尝试解析或反序列化对象 你猜怎么了 在这种情况下 Json NET 很乐意解析我格式错误的 JSON 并且不会抱怨 我认为我需要澄清一下 我的 JSON 唯一的问题
  • 在 React JSX 中使用 if 语句

    你能像这样在 JSX 中使用 if 语句吗 var chartGraphContent div if this state modalityGraph nca gt 0 div div div
  • r 分组依据和计数

    我正在处理一个数据集 如下所示 Id Date Color 10 2008 11 17 Red 10 2008 11 17 Red 10 2008 11 17 Blue 10 2010 01 26 Red 10 2010 01 26 Gre
  • 检查 CRC 多项式的错误检测能力

    我试图找出如何计算任意 CRC 多项式的错误检测能力 我知道有多种错误检测功能可能 或可能不适用于 任意多项式 检测单个比特错误 所有 CRC 都可以执行此操作 因为这只需要 CRC 宽度 gt 1 突发错误检测 所有 CRC 都可以检测大
  • 多个开发人员如何在连接到单个 Firebase 控制台的同一个 Android 应用上工作?

    我的本地 Android 应用程序在 google firebase 控制台中与 google services json 中配置的 SHA 密钥同步 另一端的开发者如何 可以将项目设置为使用相同的 firebase 控制台和 json 文
  • 从生产文件夹创建 git 存储库

    我有一台带有生产网站的机器 我想在该机器上创建一个 git 存储库 以便使用 git 管理该网站 所以我做的第一件事就是在生产机器中创建一个空的 git 存储库 mkdir repos cd repos mkdir production g
  • 如何找到Tkinter当前使用的Tcl/Tk库的路径?

    TCL LIBRARY and TK LIBRARY环境变量可用于通过正确的 Tcl Tk 安装来绑定 Tkinter 如何从工作的 Tkinter 实例获取 Tcl Tk 的位置 我正在使用 Tkinter 在非虚拟 Python 中运行
  • itext 7.1 如何检查图像是否旋转

    在 itext 7 1 中 我使用以下代码将图像添加到 pdf 文档中 Document document new Document writerPdf make a new document object ImageData imgDat
  • 我的 xpages 上仅在午夜为用户调整日期

    我们在 xpages 中遇到了一个关于日期的非常奇怪的问题 我们的 Notesdocument 包含一个日期字段 并且该值只是一个日期 没有时间部分 在 xpage 中 我已指定将日期显示为日期 时间值 网页上的日期显示正确 但我们现在收到
  • 如何将 pygame.image.save 输出到变量而不是文件?

    我想发送一个pygame surface Surface到另一台计算机使用socket图书馆 我尝试使用pygame image tostring但它花了900kb 但是当我使用pygame image save我用过jpg格式化只需要45
  • Java Stream Collectors.toList() 无法编译

    任何人都可以解释为什么下面的代码无法编译但第二个代码可以编译 不编译 private void doNotCompile List
  • Java HashMap 返回值与我对 equals 和 hashcode 的理解不符

    以下代码示例的输出是 1 e e2 2 e1 e1 package com sid practice import java util HashMap import java util Map public class InputOutpu
  • 自定义通知

    我想知道是否有一种方法可以使用通知栏来执行某些操作 onClick 而无需启动 恢复活动 例如 假设我发出一个通知 当用户按下它时 它不会带我去某个活动 而是调用我当前活动 服务中的一些常规方法 有什么方法可以实现这样的事情吗 例如 当前的
  • 仅基于返回类型的重载

    我有一种情况 我想从此函数返回 List public DataTable GetSubCategoriesBySubCatID Guid SubCategoryID 所以我想要的是 public List
  • 如何在Android上发送虚假来电广播

    我正在尝试发送广播来模拟来电 我在AndroidManifest xml文件中添加了权限
  • Spark 中鼓励使用并行集合

    在 Spark 上使用并行集合有意义吗 到目前为止 我看到的所有 Spark 示例都使用非常简单数据类型 单类和元组 的 RDD 但实际上集合 特别是并行集合可以用作 RDD 的居民 工作线程可能有多个核心可供执行 如果使用常规集合作为 R
  • SQL Server 中 XML 节点的多目标搜索

    我在 SQL Server 中有一个进程表 如下所示 workflowXML列的值如下 样本1 进程ID 1 样本1的workflowXML
  • Jenkins 似乎是通过 ssh 启动的脚本中 nohup 的目标,我该如何防止这种情况发生?

    我正在尝试创建一个 Jenkins 作业来重新启动一个始终在我们的一台服务器上运行的程序 我指定以下内容作为要运行的命令 cd usr local tool tool stop tool start 脚本 工具 包含如下行 nohup ja
  • Java 中的 RTF 转 PDF

    我们正在构建一个与其他系统部分交互的应用程序 我们正在从其他系统中提取一些数据 这些数据以 RTF 文档的形式返回 但我们必须阻止用户编辑这个文件 所以我们考虑用 iText 将其转换为 PDF 代码片段 moving the rtf da