【问题标题】:Programmatically check if pdf is a Form with iTextSharp以编程方式检查 pdf 是否是带有 iTextSharp 的表单
【发布时间】:2013-10-15 13:01:46
【问题描述】:

我正在尝试在我们的服务器上收集一些关于 pdf 文件的元数据。我想知道它们是否是一种形式,如果是,它们是否可以保存或必须打印。 iTextSharp 之类的东西会暴露这类信息吗?

这是我可以使用的代码示例

Private Sub GetPDFInfo(ByVal path As String)
    If File.Exists(path) Then
        Dim reader As New PdfReader(path)
        'sample metadata exposed
        Dim numberOfPages = reader.NumberOfPages

        'what to call to get form info?

    End If
End Sub

更新

这就是我所说的能否保存的意思: 我不确定这些信息在哪里,但每个表单都有某种指示是否可以将表单数据保存在本地。

【问题讨论】:

    标签: .net vb.net pdf itextsharp


    【解决方案1】:

    检查表单的最简单方法是查看PdfReaderAcroForm 字段是否为空:

    Dim HasForm = reader.AcroForm IsNot Nothing
    

    编辑

    我没有安装 Adob​​e Reader,但我认为当表单上未启用使用权限时会生成该消息。您应该可以使用:

    Dim CanUserSave = reader.HasUsageRights()
    

    【讨论】:

    • 太棒了!我稍微更新了我的问题,以帮助说明我所说的可保存表单的含义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 2022-10-07
    • 2012-01-04
    • 2011-11-17
    • 1970-01-01
    • 2011-11-08
    相关资源
    最近更新 更多