gpt4 book ai didi

c# - iTextSharp - XFA 填充日期/时间字段

转载 作者:行者123 更新时间:2023-11-30 22:39:35 26 4
gpt4 key购买 nike

工作流程是这样的:

  1. 我们下载模板表单,预填充静态值,导出 XML 模板
  2. 使用 .NET 表单应用解析 XML,添加动态值
  3. 需要将生成的 XML 导入回 PDF 模板

在 iTextSharp 上使用 MergeXfaData 方法一切顺利,但由于某种原因,日期/时间字段未填写(文本字段和复选框工作正常)。不知道为什么。通过论坛搜索我发现有人说 XFA 只适用于文本字段。这是为什么以及如何解决?

此外,下一步我需要将附件附加到 PDF 表单。附件也是 PDF,但 iTextSharp 不会附加它们。搜索了很多论坛,但提到的方法都不适合我。

谢谢你的回答

最佳答案

@Yuri,我刚刚用日期/时间字段试了一下,效果很好。我在 Live Cycle 中创建了一个简单的 PDF,其中包含两个字段,1 个文本和 1 个日期/时间,以及两个按钮,提交和打印。示例 PDF 为 here :

我填写了表格并得到了这个用于 XML 的表格:

<?xml version="1.0" encoding="UTF-8"?>
<topmostSubform>
<Text1>Chris</Text1>
<DateTimeField1>2012-04-12</DateTimeField1>
</topmostSubform>

当我将其导入 PDF 并在 Acrobat 中查看 PDF 时,日期/时间字段已填写。我正在使用 iTextSharp 5.0.5.0 和以下代码:

Option Explicit On
Option Strict On

Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim PDF_Input_File As String = Path.Combine(My.Computer.FileSystem.SpecialDirectories.Desktop, "Input.pdf")
Dim PDF_Output_File As String = Path.Combine(My.Computer.FileSystem.SpecialDirectories.Desktop, "Export.pdf")

''//Create our reader
Dim reader As New PdfReader(PDF_Input_File)
''//Create our file stream to output to
Using FS As New System.IO.FileStream(PDF_Output_File, FileMode.Create, FileAccess.Write, FileShare.Read)
''//Create the stamper
Dim stamper As New PdfStamper(reader, FS)

''//Just loading the XML raw instead of reading from disk, less files to attach to the post
Dim Bytes = System.Text.Encoding.UTF8.GetBytes("<?xml version=""1.0"" encoding=""UTF-8""?><topmostSubform><Text1>Chris</Text1><DateTimeField1>2012-04-12</DateTimeField1></topmostSubform>")
Using MS As New MemoryStream(Bytes)
''//Fill out the form
stamper.AcroFields.Xfa.FillXfaForm(MS)
End Using

stamper.Close()
End Using

reader.Close()


Me.Close()
End Sub
End Class

关于c# - iTextSharp - XFA 填充日期/时间字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5637151/

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