Method of conversion from PDF to WORD.
説明
Acrobat PDF を Word に変換します。
Acrobat OLE の JSObject とExcel VBA OLE の機能を利用します。
サンプル:ExcelのVBA
- F8キーでステップ実行しながら動作確認出来ます。
- 参照設定を事前にする。
001 Option Explicit
002
003 Sub CommandButton9_Click()
004
005 Dim objAcroApp As New Acrobat.AcroApp
006 Dim objAcroAVDoc As New Acrobat.AcroAVDoc
007 Dim objAcroPDDoc As Acrobat.AcroPDDoc
008 Dim lRet As Long
009 Dim jso As Object
010
011 'Acrobatアプリケーションを起動する。
012 lRet = objAcroApp.Show
013 'PDFファイルを開いて表示する。
014 lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "")
015 'PDDocオブジェクトを取得する
016 Set objAcroPDDoc = objAcroAVDoc.GetPDDoc()
017 'JavaScriptオブジェクトを作成する。
018 Set jso = objAcroPDDoc.GetJSObject
019 jso.SaveAs "E:¥test-01.doc", "com.adobe.acrobat.doc"
020
021 'PDFファイルを変更無しで閉じます。
022 lRet = objAcroAVDoc.Close(1)
023 'Acrobatアプリケーションを終了する。
024 lRet = objAcroApp.Hide
025 lRet = objAcroApp.Exit
026 'OLEを行うとAcrobatが不安定になるので、
027 '一応オブジェクトを強制開放する。
028 Set jso = Nothing
029 Set objAcroAVDoc = Nothing
030 Set objAcroApp = Nothing
031
032 End Sub
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
補足
- Acrobat Readerでは出来ません。
Acrobat本体がデフォルトでインストールされているパソコン環境だけです。
- 上記サンプルでは objAcroApp.Show でAcrobatアプリ本体を起動表示しています。
これはjso.SaveAs メソッドを連続で行うときに発生する不可解なエラー回避策です。
高速化したいのならば objAcroApp.CloseAllDocs に置き換えて下さい。
- 当サンプルよりも以下の関数を利用してのWord 変換をおすすめします。
「関数:PDFを特定のフォーマットに変換する」
当ページのサンプルよりも安全にWord 変換が可能になります。
注意
- Acrobat SDK 8.1 に書かれている第2引数の説明が一部間違っています。
以下が正解です。
SDK:com.adobe.Acrobat.doc ※間違い
正解:com.adobe.acrobat.doc ※「a」1の文字だけが違う
この情報は、"C:¥Program Files¥Adobe¥Acrobat 8.0¥Acrobat¥ExportTask.xml"ファイルに入っている内容から当サイト管理者が勝手に判断したものです。
この「ExportTask.xml」ファイルに関する説明はAcrobat SDKにはありません。
- PDFをWORDに変換するサンプルを上記に掲載しましたが、 Office Word 2003 で開いたところ段落が重なる現象が現れています。Acrobatの変換機能が悪いのか、Wordの表示機能が悪いのかは不明です。
また表紙部分が欠落する場合もあります。変換後の内容を必ず確認して使用して下さい。
※以下は変換後のWord画面表示内容の一部
- OSがインストールされているC:ドライブへの保存は出来ません。
詳細は、 「Acrobat JavaScript における「Safe Path」についての注意事項」を参照。
動作確認環境
- WindowsXP Pro + SP3 +
Acrobat 8.1.6 Pro + Office 2003 + フルMicrosoftUpdate
< サンプル一覧 >