TOP > AFormAut > ImportAnFDF メソッド
説明
FDFファイルを AFormAut オブジェクトにインポートする。
同時にAVDocでオープンしたPDFに結合されます。
但し、保存はPDDocオブジェクトで行います。
形式
void ImportAnFDF ( LPCTSTR bstrFullPath ) ;
引数
- 第一引数 ( LPCTSTR bstrFullPath ) :
入力するFDF ファイルのフルパス名。
戻り値
- 無し。
動作するバージョン
Adobe Acrobat | 結果 | 備考 |
---|---|---|
4 | NO | Acrobat 4.0 ※Windows 98SE + Excel 2000 *1 ※古いPDFのバージョンはOK! |
5 | NO | Acrobat 5.0.5 + Excel 2003 *1 ※古いPDFのバージョンはOK |
6 | NO | Acrobat 6.0.6 Pro + Excel 2003 *1 ※古いPDFのバージョンはOK |
7 | OK | Acrobat 7.1.4 Pro + Excel 2003 *2 ※レジストリ操作で全面的に可能になる |
8 | NO | Acrobat 8.3.1 Pro + Excel 2003 ※当Acrobatバージョンでは全面的に不可 |
9 | NO | Acrobat 9.5.5 Extended + Excel 2003 ※当Acrobatバージョンでは全面的に不可 |
10 | OK | Acrobat X (10.1.8) Extended + Excel 2003 |
11 | OK | Acrobat XI (11.0.5) Extended + Excel 2003 |
- OK : 正常処理。
- NO : 動作しない。 又は実行時にエラーになる。
- *1 : 「PDF のバージョン」によっては正常処理出来ない場合がある。
- *2 : 処理前のレジストリに以下を追加する必要があります。
[HKEY_CURRENT_USER¥Software¥Adobe¥Adobe Acrobat¥7.0¥AVAlert]
[HKEY_CURRENT_USER¥Software¥Adobe¥Adobe Acrobat¥7.0¥AVAlert¥cCheckbox]
"idocNewerVersionWarning"=dword:00000001
サンプル:Excel のVBA
説明 : FDFファイルからフォームフィールドのデータを入力して、PDF ファイルと結合出力する。
- F8 キーでステップ実行しながら動作確認します。
- 事前に 参照設定(AFormAutの追加版) が必要です。
001 Option Explicit
002
003 Public Const PDSaveFull = &H1
004 Public Const PDSaveLinearized = &H4
005 Public Const PDSaveCollectGarbage = &H20
006
007 Sub AFormAut_ImportAnFDF_test()
008
009 Dim lRet As Long
010
011 Const CON_PDF_FILE = "D:\work\VBJavaScript.pdf"
012 Const CON_PDF_FI_S = "D:\work\VBJavaScript-S.pdf"
013 Const CON_FDF_FILE = "D:\work\VBJavaScript.fdf"
014
015 'Acrobatオブジェクトの定義&作成
016 Dim objAcroApp As New Acrobat.AcroApp
017 Dim objAcroAVDoc As New Acrobat.AcroAVDoc
018 Dim objAcroPDDoc As New Acrobat.AcroPDDoc
019
020 Dim objAFormApp As AFORMAUTLib.AFormApp
021 Dim objAFormFields As AFORMAUTLib.Fields
022
023 '※CreateObject("AFormAut.App")のエラー
024 '※[429 ActiveXコンポーネントはオブジェクトを作成できません。]
025 '※回避用 / メモリにAcrobatを強制ロードさせる
026 objAcroApp.CloseAllDocs
027
028 '*―――――――――――――――――――--
029 '* PDFファイルを開く
030
031 '処理対象のPDFファイルを開く
032 '※AVDocでOpenしないと"AFormAut.App"で実行エラー
033 lRet = objAcroAVDoc.Open(CON_PDF_FILE, "")
034 If lRet = 0 Then
035 MsgBox "AVDocオブジェクトはOpen出来ません" & vbCrLf & _
036 CON_PDF_FILE, vbOKOnly + vbCritical, "処理エラー"
037 GoTo Skip_AFormAut_ImportAnFDF_test:
038 End If
039
040 '*―――――――――――――――――――--
041 '* AFormオブジェクトの作成
042
043 Set objAFormApp = CreateObject("AFormAut.App")
044 Set objAFormFields = objAFormApp.Fields
045
046 '*―――――――――――――――――――--
047 '* FDFをインポート
048
049 objAFormFields.ImportAnFDF CON_FDF_FILE
050
051 '別のFDFを連続でインポートする場合は
052 'objAFormFields.ImportAnFDF CON_FDF_FILE2
053
054 Skip_AFormAut_ImportAnFDF_test:
055
056 '*―――――――――――――――――――--
057 '* 終了処理
058
059 '結合したPDFファイルの保存はPDDoc.Saveで必ず行う
060 Set objAcroPDDoc = objAcroAVDoc.GetPDDoc
061 lRet = objAcroPDDoc.Save( _
062 PDSaveFull + PDSaveCollectGarbage + PDSaveLinearized, _
063 CON_PDF_FI_S)
064 If lRet = 0 Then
065 MsgBox "05: PDFファイルへ保存出来ませんでした" & vbCrLf & _
066 CON_PDF_FI_S, vbOKOnly & vbCritical, "エラー"
067 End If
068
069 'AVDocを閉じる
070 lRet = objAcroAVDoc.Close(1)
071
072 'Acrobatアプリケーションの終了
073 objAcroApp.Hide
074 objAcroApp.Exit
075
076 'オブジェクトの開放
077 Set objAFormFields = Nothing
078 Set objAFormApp = Nothing
079 Set objAcroAVDoc = Nothing
080 Set objAcroApp = Nothing
081
082 MsgBox "End Sub"
083
084 End Sub
085
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
実行結果
1. Acrobat 7.1.4
- Acrobat 7 で作成したフォームデータのFDFファイルをインポート時 :
全てのフィールドが正常にインポートされた。
- Acrobat 7 で作成した注釈データのFDFファイルをインポート時 :
全ての注釈が正常にインポートされた。
- Acrobat 7 で作成したフォームデータのFDFファイルと
Acrobat 7 で作成した注釈データのFDFファイルを同時にインポート時 :
全てのフィールドと注釈が正常にインポートされた。
2. Acrobat X (10.1.8)
Acrobat 7.1.4 と結果は同じ。
3. Acrobat XI (11.0.5)
Acrobat 7.1.4 と結果は同じ。
備考
- 複数のFDFを結合する場合は、連続でImportAnFDF メソッドを実行する。
- 結合したPDFはPDoc.Save メソッドで保存する。
AVDoc.Close メソッドで保存しようとすると、ダイアログ画面が表示されてしまうから。
注意事項
- Acrobat 7 環境下でAVDoc.Close でPDFファイルの保存をしてはダメです。
lRet = objAcroAVDoc.Close(0)
OLE(IAC)が処理出来なくなり、以下のメッセージを出して終了出来なくなります。
Microsoft Excel 別のプログラムでOLEの操作が完了するまで待機を続けます。
Adobe Web 解説 URL(英語)
http://livedocs.adobe.com/acrobat_sdk/10/Acrobat10_HTMLHelp/wwhelp/wwhimpl/js/html/wwhelp.htm?href=IAC_API_FormsIntro.107.48.html&accessible=truehttp://partners.adobe.com/public/developer/en/acrobat/sdk/FormsAPIReference.pdf#nameddest=G14.1031511
< 戻る >