以pdf格式填写数据

时间:2019-05-17 13:07:42

标签: pdfsharp

尝试使用PdfSharp,并使用此处显示的示例代码,没有任何效果。

我使用Win 10下提供的Microsoft PrintToPdf Service打印了一个Web文档,读了该文档,但是AcroForm属性什么也没有,所以我失败了。

我想念什么?

最诚挚的问候

格哈德

Public Shared Sub test()

        Dim doc As PdfDocument = PdfReader.Open("C:\xxx\yyy.pdf", PdfDocumentOpenMode.Modify
        Dim form As PdfAcroForm = doc.AcroForm

        If doc.AcroForm.Elements.ContainsKey("/NeedAppearances") = False Then
            doc.AcroForm.Elements.Add("/NeedAppearances", New PdfSharp.Pdf.PdfBoolean(True))
        Else
            doc.AcroForm.Elements("/NeedAppearances") = New PdfSharp.Pdf.PdfBoolean(True)
        End If

        Beep()

    End Sub

实际结果是形式为空(在C#中为空)

2 个答案:

答案 0 :(得分:1)

稻草, 想加评论,失败了,太长了。 所以我写了一个答案。不错的论坛软件,不是吗?

是的,找到了一个可行的解决方案。我得到了 NuGet 包 PDFsharp 和 PDFsharp-MigraDoc。您可以填写这样的字段:

Dim field As PdfTextField = DirectCast(myForm.Fields(fieldName), PdfTextField)
field.ReadOnly = False                                                                  ' Prepare the field for writing
field.Value = New PdfString(value)
field.ReadOnly = True                                                                   ' Seal the field to prvent user modifications
field.MultiLine = isMultiline

--> 工作正常。而且是免费的。

致以最诚挚的问候

格哈德

答案 1 :(得分:0)

您可能已经找到了答案,但供以后参考: AcroForm(或Acrobat表单)是用于在PDF文件上创建表单的表单规范。

您的PDF可能是没有格式的平面文件。

您可以使用Adobe Acrobat Professional(收费)或网站PDFEscape(受广告支持)制作PDF的AcroForm。