签署使用 itext 填充的 pdf 时出错
Error in siging a pdf filled using itext
我正在使用 iText 填写 pdf。此 pdf 包含一个 xfa,我通过 xml 文件填写此表格。填写表格后,用户需要下载并手动签名。到目前为止,一切都很好,表格中的每个字段都正确填写。如果用户在文件上签名,adobe reader 制作一份带有签名的新文件副本。
但是当用户尝试签署该 pdf 时,它会出现以下错误并且新生成的带有签名的文件不保存数据,它使所有字段空白。
At least one signature has problems
当用户在 pdf adobe 上签名时 reader 也会弹出签名验证
但是如果我在不使用 itext 的情况下手动填写相同的 pdf,它允许我成功地签署 pdf
这是我用来用 xml 数据填充 pdf 的代码:
public static byte[] FillXfaForm(byte[] byteArray, String xmlFilePath)
{
PdfReader reader = new PdfReader(byteArray);
using (MemoryStream ms = new MemoryStream())
{
using (PdfStamper stamper = new PdfStamper(reader, ms,'[=10=]',true))
{
stamper.Writer.CloseStream = false;
stamper.AcroFields.Xfa.FillXfaForm(xmlFilePath);
}
if(File.Exists(xmlFilePath))
{
File.Delete(xmlFilePath);
}
return ms.ToArray();
}
}
这里是错误消息的屏幕截图
请帮我解决这个问题。
终于解决了这个问题
这个问题的原因是我更新了整个 xml 文档来填充 xfa 但是当我只更新数据部分而不是整个 xml 它工作没有任何错误。
我不知道它真正造成的区别是什么,因为在这个类似的问题中 "Bruno Lowagie" 声明您可以使用完整的 xml 替换,也可以仅更改数据部分。
How can I set XFA data in a static XFA form in iTextSharp and get it to save?
但对我来说,只有当我替换数据部分而不是整个 xml 数据时,它才允许我签署文档。
希望对遇到类似问题的人有所帮助。
我正在使用 iText 填写 pdf。此 pdf 包含一个 xfa,我通过 xml 文件填写此表格。填写表格后,用户需要下载并手动签名。到目前为止,一切都很好,表格中的每个字段都正确填写。如果用户在文件上签名,adobe reader 制作一份带有签名的新文件副本。
但是当用户尝试签署该 pdf 时,它会出现以下错误并且新生成的带有签名的文件不保存数据,它使所有字段空白。
At least one signature has problems
当用户在 pdf adobe 上签名时 reader 也会弹出签名验证
但是如果我在不使用 itext 的情况下手动填写相同的 pdf,它允许我成功地签署 pdf
这是我用来用 xml 数据填充 pdf 的代码:
public static byte[] FillXfaForm(byte[] byteArray, String xmlFilePath)
{
PdfReader reader = new PdfReader(byteArray);
using (MemoryStream ms = new MemoryStream())
{
using (PdfStamper stamper = new PdfStamper(reader, ms,'[=10=]',true))
{
stamper.Writer.CloseStream = false;
stamper.AcroFields.Xfa.FillXfaForm(xmlFilePath);
}
if(File.Exists(xmlFilePath))
{
File.Delete(xmlFilePath);
}
return ms.ToArray();
}
}
这里是错误消息的屏幕截图
请帮我解决这个问题。
终于解决了这个问题
这个问题的原因是我更新了整个 xml 文档来填充 xfa 但是当我只更新数据部分而不是整个 xml 它工作没有任何错误。
我不知道它真正造成的区别是什么,因为在这个类似的问题中 "Bruno Lowagie" 声明您可以使用完整的 xml 替换,也可以仅更改数据部分。
How can I set XFA data in a static XFA form in iTextSharp and get it to save?
但对我来说,只有当我替换数据部分而不是整个 xml 数据时,它才允许我签署文档。
希望对遇到类似问题的人有所帮助。