PDFをHTMLに変換する方法(Excel VBAサンプル/3)

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


Method of conversion from PDF to HTML.

説明

Acrobat PDF を HTML に変換します。

Acrobat OLE の JSObject とExcel VBA OLE の機能を利用します。

 

サンプル:ExcelのVBA

  • F8キーでステップ実行しながら動作確認出来ます。
  • 事前に参照設定もして下さい。
001 Option Explicit 002 Sub CommandButton9_Click() 003 004 Dim objAcroApp As New Acrobat.AcroApp 005 Dim objAcroAVDoc As New Acrobat.AcroAVDoc 006 Dim objAcroPDDoc As Acrobat.AcroPDDoc 007 Dim lRet As Long 008 Dim jso As Object 009 010 'Acrobatアプリケーションを起動する。 011 lRet = objAcroApp.Show 012 'PDFファイルを開いて表示する。 013 lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "") 014 'PDDocオブジェクトを取得する 015 Set objAcroPDDoc = objAcroAVDoc.GetPDDoc() 016 'JavaScriptオブジェクトを作成する。 017 Set jso = objAcroPDDoc.GetJSObject 018 jso.SaveAs "E:¥test-01.html", "com.adobe.acrobat.html-4-01-css-1-00" 019 020 'PDFファイルを変更無しで閉じます。 021 lRet = objAcroAVDoc.Close(1) 022 'Acrobatアプリケーションを終了する。 023 lRet = objAcroApp.Hide 024 lRet = objAcroApp.Exit 025 'OLEを行うとAcrobatが不安定になるので、一応オブジェクトを強制開放する。 026 Set jso = Nothing 027 Set objAcroAVDoc = Nothing 028 Set objAcroApp = Nothing 029 030 End Sub


 Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
 

補足

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

注意

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

    SDK:com.adobe.Acrobat.html-4-01-css-1-00 ※間違い
    正解:com.adobe.acrobat.html-4-01-css-1-00 ※「a」の1文字が違う
    この情報は、"C:¥Program Files¥Adobe¥Acrobat 8.0¥Acrobat¥ExportTask.xml"ファイルに入っている内容から当サイト管理者が勝手に判断したものです。
    この「ExportTask.xml」ファイルに関する説明はAcrobat SDKにはありません。
     
  2. PDFをHTMLに変換するには、前提条件が1つあります。
    Acrobat本体ファイルメニューの「名前を付けて保存」ダイアログ表示->「ファイルの種類」を「HTML 4.1~」に一旦します。
    そして「設定」ボタンが有効になるので「設定」ボタンを押して、「HTML 4.1 -CSS 1.0準拠としての設定」画面で「サブホルダを使用」チェックをオフにします。
    そうしないと、連続でPDFをHTML変換する時に画像イメージが固定フォルダ名で上書きされてしまいます。
    なお、この設定はAcrobat本体が終了しても保存されます。
      
  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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください