当前位置: 首页 > 知识库问答 >
问题:

从servlet读取输入流时,com.itextpdf.text.exceptions.InvalidPdfExc0019:找不到PDF标头签名

赵钊
2023-03-14

我正在从servlet创建一个可编辑的pdf。用户输入数据并点击提交按钮。提交按钮的操作定义为button.set操作(PdfAction.createSubmitForm(/fdf,null,PdfAction。SUBMIT_XFDF))”。

当我尝试使用FdfReader reader=new FdfReader(request.getInputStream())将表单字段读回服务器时,我不断收到上述错误“未找到PDF标头签名”。在调试错误所在的位置时,生成的pdf具有“%pdf-”。但不知何故,当读取inputstream时,我得到了这个错误。

任何帮助将不胜感激。

共有1个答案

袁秦迟
2023-03-14

您说您以XFDF(FDF的XML版本)的形式提交数据。但是,您可以尝试使用FdfReader而不是XfdfReader读取此数据FdfReader需要一个以PDF语法编写且以%PDF-1开头的文件。您将收到一个以XML编写的文件,该文件以以下内容开头:

<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">

As

将代码中的FdfReader替换为XfdfReader,问题就解决了。

 类似资料:
  • 嗨,我试图读取一个PDF文件,这是由servlet上传。 这是密码 我的pdf是这样开始的%PDF-1.6 错误消息java.io.IOExcture:找不到PDF标头签名。

  • 问题内容: 我正在使用从运行约一分钟的进程中读取stdout。 我该如何stdout以流方式打印出该流程的每一行,以便可以看到生成的输出,但仍然阻止该流程终止,然后再继续? 似乎一次给出所有输出。 问题答案: 这是一个简单的示例(不检查错误): 如果ls结束太快,则while循环可能会在你读取所有数据之前结束。 你可以通过以下方式在中捕获其余部分:

  • 我目前正试图从服务器读取图像文件,但得到的数据不完整或 这与缓冲区大小有关吗?我已经尝试使用静态大小而不是ContentLength。敬请指教。

  • 本文向大家介绍OCaml 从标准输入读取并打印到标准输出,包括了OCaml 从标准输入读取并打印到标准输出的使用技巧和注意事项,需要的朋友参考一下 示例 我们准备一个包含reverser.ml以下内容的文件: 然后,我们使用以下命令编译程序: 我们通过将数据传递到新的可执行文件进行测试: 该reserver.ml程序以命令式风格编写。虽然命令式样式很好,但是将其与功能翻译进行比较很有趣: 由于引入

  • 我从教程中创建了示例Kafka Streams应用程序: 不幸的是,这个应用程序不读取输入流。我有一个来自PostgreSQL的JDBC源连接器,它正在处理来自一个数据库的精细流数据(我可以在本主题中的Kafka Connect UI数据上看到)。 我的问题是,即使我在BOOTSTRAP\u SERVERS\u CONFIG的Properties IP is localhost中更改了IP,我也不

  • 问题内容: 如何使用Go中的函数从标准输入获取整数输入? 如果使用无法完成此操作,那么读取单个整数的最佳方法是什么? 问题答案: http://golang.org/pkg/fmt/#Scanf Go中包含的所有库都有充分的文档记录。 话虽如此,我相信 绝招