PDFをHTML 3.2形式に変換する方法(Excel VBAサンプル)

TOP > サンプル / 関数 > *      [...]


Method of conversion from PDF to HTML 3.2.

説明

PDF を HTML 3.2 形式に変換します。

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.html", "com.adobe.acrobat.html-3-20" 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編)
 

補足

  1. Acrobat Readerでは出来ません。
    Acrobat本体がデフォルトでインストールされているパソコン環境だけです。
     
  2. 上記サンプルでは objAcroApp.Show でAcrobatアプリ本体を起動表示しています。
    これはjso.SaveAs メソッドを連続で行うときに発生する不可解なエラー回避策です。
    高速化したいのならば objAcroApp.CloseAllDocs に置き換えて下さい。
     
  3. 当サンプルよりも以下の関数を利用してのHTML3.2 変換をおすすめします。
    関数:PDFを特定のフォーマットに変換する」 
    当ページのサンプルよりも安全にHTML 3.2 変換が可能になります。
     
  4. PDFをHTMLへ変換する上でのイメージファイルを扱う注意事項」も参照
     

注意

  1. Acrobat SDK 8.1 に書かれている第2引数の説明が一部間違っています。
    以下が正解です。

    SDK:com.adobe.Acrobat.html-3-20 ※間違い
    正解:com.adobe.acrobat.html-3-20 ※「a」1文字違う
    この情報は、"C:¥Program Files¥Adobe¥Acrobat 8.0¥Acrobat¥ExportTask.xml"ファイルに入っている内容から当サイト管理者が勝手に判断したものです。
    この「ExportTask.xml」ファイルに関する説明はAcrobat SDKにはありません。
     
  2. PDFをHTMLに変換するには、前提条件が1つあります。
    Acrobat本体ファイルメニューの「名前を付けて保存」ダイアログ表示->「ファイルの種類」を「HTML 3.2」に一旦します。
    そして「設定」ボタンが有効になるので「設定」ボタンを押して、「HTML 3.2として保存の設定」画面で「サブホルダを使用」チェックをオフにします。
    そうしないと、連続でPDFをHTML変換する時に画像イメージが固定フォルダ名で上書きされてしまいます。
    なお、この設定はAcrobat本体が終了しても保存されます。
    これを変更するOLE操作方法は調査中(いつかは不明)です。
     
  3. OSがインストールされているC:ドライブへの保存は出来ません
    詳細は、「Acrobat JavaScript における「Safe Path」についての注意事項」を参照。
     

動作確認環境

  • WindowsXP Pro + SP3 +
    Acrobat 8.1.6 Pro + Office 2003 + フルMicrosoftUpdate

サンプル一覧

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


★ 文章での質問は難しいですよネ。でも、早く解決して、家に帰りたい。


SAMURAI Plugin

コメントをする時は出来れば以下もお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



お仕事で当サイトを見ている方へ
考え込んだら、ご質問下さい。
一緒に解決策を考えましょう。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください