gpt4 book ai didi

java - 'com.itextpdf.text.exceptions.InvalidPdfException : PDF header signature not found' when reading the input stream from servlet

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:08 46 4
gpt4 key购买 nike

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

当我尝试使用以下命令将表单字段读回服务器时FdfReader reader = new FdfReader (request.getInputStream()),我不断收到“找不到 PDF header 签名”的上述错误。在调试错误所在时,生成的 pdf 具有“%PDF-”。但不知何故,当读取输入流时,我收到此错误。

任何帮助将不胜感激。

最佳答案

您说您以 XFDF(这是 FDF 的 XML 版本)形式提交数据。但是,您尝试使用 FdfReader 读取此数据而不是XfdfReaderFdfReader需要一个以 PDF 语法编写且以 %PDF-1 开头的文件。您正在收到一个以 XML 编写的文件,其开头为:

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

<?xml%PDF-1 有很大不同(这是 PDF header 签名),您不应对该错误感到惊讶。它准确地说明了您输入到 FdfReader 的数据有什么问题。 .

替换FdfReaderXfdfReader在你的代码中,你的问题就解决了。

关于java - 'com.itextpdf.text.exceptions.InvalidPdfException : PDF header signature not found' when reading the input stream from servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24790667/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com