我通过使用模板并填写表单字段来创建 PDF 文件。然后我将 PDF 展平以防止对其进行更改。我现在需要解析 PDF 并从表单字段中获取数据;但是,当我解析 PDF 时,缺少表单字段的文本。似乎我无法引用该字段,因为 PDF 被展平并且解析 PDF 会跳过文本所在的字段并返回
名字: 姓氏:
但PDF实际上有
名字:简姓氏:Doe
如何获取表单字段曾经所在的文本?
更新
Dim text As StringBuilder = New StringBuilder()
If File.Exists(filename) Then
Dim pdfReader As New PdfReader(filename)
For page As Integer = 1 To pdfReader.NumberOfPages
Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
Dim currentText As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy)
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)))
text.Append(currentText)
Next
pdfReader.Close()
textBox1.Text = text.ToString()
textBox1.SelectionStart = 0
End If
由于其中的信息,我无法发布原始文件,但我可以发布 2 个示例文件来说明我在做什么。
我正在使用这样的模板pdf... fw4.pdf
然后我用数据填充它并将它展平,所以它就像这样...... final_fw4.pdf
当我使用上面的代码解析它时,我得到了这个... parsed_pdf_text.txt
查看文件
解析后的文本中没有任何数据!