2017-02-04 76 views
-1

我需要識別在我的代碼中PDF文件是動態表單還是隻讀PDF。無論什麼編程語言。 有沒有什麼辦法可以檢測出我的目標PDF是否是表單?以編程方式識別PDF類型

+0

表單也可以是隻讀的,例如,如果所有字段都是隻讀的...因此,你只是想識別表單或者你是否想要檢查可編輯的字段? – mkl

+0

我的目標是確認PDF是否只讀,並且沒有可編輯字段。因此,在我的代碼中,我將執行不同的操作,如果PDF沒有內部屬性,請禁用打印。 – Al007

回答

1

您要查找的是文檔「目錄」字典中「AcroForm」字典的存在。如果PDF具有任何形式字段,簽名字段或XFA字段,AcroForm字典將出現。您仍然需要某種PDF庫工具來解析PDF對象,但目前大多數語言都有這種工具。

也就是說,一些PDF閱讀器和在線服務確實允許用戶輸入沒有交互式表單域的靜態PDF文件。我不確定你是否想要控制這種情況。

+0

我使用AcroPDF 7.0與VB6 OCX,並有一些屬性和方法,但沒有任何幫助獲得此屬性的東西。 – Al007

+0

你需要一個庫;可以讓你解析PDF並獲得關於這些對象的信息。 – joelgeraci