サイトマップ

▼ サイトの紹介

このサイトはExcel VBAから、Acrobat  アプリケーションをプログラミング操作するOLE機能について解説しています。

Adobe社はこのOLE機能の事を「IAC」と表現しています。

(注意:Adobe Readerだけでは使用出来ません)

Adobe社提供のSDK資料を元にサンプルを加えて説明をしています。

サイト管理人もご覧下さい。

 

▼ 当サイトの使い方

当サイトをうまく使う上での手順を以下に示します。

  1. 最初に「Acrobat SDK:OLE objects and methods図を入手する」にあるオブジェクト連携図を手に入れます。出来れば印刷する方が見やすいです。1頁です。
  2. 下記の「Excel」、「Acrobat」、「ダウンロード」、「SDK」、「備考」にサッと目を通します。「その他&メモ」は特に見なくてもイイです。
  3. 自分が目的とする処理を探しながら、印刷したオブジェクト連携図を元にサイト記「Object & List」下を上からクリックしてザックリと内容を見ます。各オブジェクトのメソッドの詳細は後にして全体で何が出来て、何が出来ない(サポートされていない)かを把握します。
    Acobat OLE 以外の選択」も見て下さい。
  4. 目的が解決出来ない時は、キッパリとあきらめてAdobe社の日本語「Acrobat アドビフォーラム」で相談します。 ココ ↓
    http://forums.adobe.com/community/international_forums/japanese/acrobat
    当サイト pdf-file.nnn2.com より質が高い。
  5. それでもダメなら、当サイトにコメントを入れてみます。サイト管理人がある程度、判る範囲でお答えをします。・・タブン。(汗
    (お願い:管理人を「様」での呼び方はご遠慮下さい。管理人さ~んで十分です。)

 





▼ Excel

  1. Excel からAcrobatを操作する訳
  2. Excel から PDFファイル を作成&操作出来る
  3. Excel のオブジェクトブラウザ
  4. Excel からAcrobatを起動する
  5. Excel からPDFファイルを起動表示する
  6. Excel サンプル:PDFの文書プロパティを表示する
  7. 上記7のサンプルファイルの実行エラー
  8. Excel VBA 実行エラー時のメッセージ

 

  1. Excel でOLEの参照設定をする
  2. Excel でOLEの参照設定をする (AFormAut の追加)
  3. Excel でOLEの参照設定をする (Stream の追加)
  4. Excel でOLEの参照設定をする (MSXMLの追加)

 

▼ Acrobat

  1. Acrobat SDK:OLE objects and methods図を入手する
    ここで示す図は必ず入手する必要があります。
    これが無いとオブジェクト連携が判らなく、OLE(IAC)操作が出来ません。
  2. Acrobatアプリケーションを閉じる(実は簡単に出来ない)
  3. Acrobat OLE 使用上の注意事項
  4. Acrobatプログラミングにおける技術上の制約やライセンス上の制約
  5. PDFファイルを作成、及び操作する開発者に対しての注意事項
  6. Windows のコマンドラインから Acrobat や Adobe Reader を使用して印刷する方法
  7. PDFドキュメントの文書フラグとは
  8. 「PDF のバージョン」とは
  9. ExportTask.xml
  10. 一括で複数ファイルを処理(アクション、バッチ処理) 
  11. PDF の3つのパスワード

 

▼ ダウンロード

  1. Adobe Acrobat 9.1 SDK のダウンロード
    SDKをダウンロードしてサンプル、解説PDF,HTML等を入手する必要があります。
    Adobe Acrobat X SDK のダウンロード情報も入ってます。
  2. Adobe Acrobat 8.1 SDK のダウンロード
    この 8.1 バージョンのSDKは現時点(2013/10/03)で一般公開されてません。
    情報が入り次第、掲載します。
  3. Acrobat製品別ダウンロード先 URL
  4. AcroPDFLib.AxAcroPDF:Excel VBAサンプル(A)
  5. AcroPDFLib.AxAcroPDF:Excel VBAサンプル(B)
  6. Adobe Readerの各種バージョンのダウンロード

 

▼ SDK

  1. AcrobatプログラミングにおけるMenu and Toolbar Button Names 一覧
  2. PDDocのGetJsObjectのオブジェクト構造図が見当たらない
  3. Acrobat SDK:正誤表
    Acrobat SDK v8.1ドキュメントに記載ミスが有ります。
  4. Acrobat 9.0に関するSDKが Acrobat Developer Center のDownloadよりダウンロード出来ます。但し、リファレンス的なSDKはPDFからURL(HTML)公開に変わりました。OLE操作(IAC)に関するSDKも同じで、HTML公開に変更されました。場所は↓ココです。
    http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/wwhelp/wwhimpl/js/html/wwhelp.htm?&accessible=true
    全て英語です。(涙
  5. Acrobat JavaScript における「Safe Path:セーフパス」についての注意事項

 

▼ 備考

  1. JavaScriptの解説はAcrobat v7 v8 共に英語版です。しかし、旧バージョンですがコメントを頂いた方から日本語版のAcrobat JavaScript解説PDFが見つかりました。以下がそのPDFです。
    http://www.adobe.com/jp/support/products/pdfs/acrojs_j.pdf
  2. [2009/1/7] AcroExch.AVDoc:Open メソッド でバグ?を発見しました。Acrobat v8.1.3 v9.0が対象です。
  3. お願い:Acrobat v4.0 SDK を入手したいのですが、持っている方はサイト管理人までメールで分割(9Mb)送信して頂けないでしょうか。

 


 

▼ その他&メモ

  1. OCR機能:読んde!ココと比較した結果
  2. アドビ(Adobe)製品に関するRSSの情報
  3. 添付ファイルの扱いには注意が必要
  4. AcrobatはPDF作成ソフトの標準では無くなる?
  5. Acrobat PDF は国際標準化された 
  6. 手書きPDF入門」 リンク
  7. planet pdf (PDF関連の英語サイト) リンク
  8. デフォルトプリンタを一時的に変更する方法
  9. Delphi(デルファイ,デルフィ)言語からの使用方法
  10. Acrobat使用時のレジストリ変化を取得する方法
  11. オブジェクトは値では無く、参照情報を持つ
  12. Adobe Reader で PDF ファイルを表示 / 印刷する方法
  13. サンプル:RBG値の一覧(カラー番号)
  14. 「・・このバージョンの Acrobat ではサポートされていない新しい形式・・」警告メッセージへの対応

 


▼日本語の資料

日本語版に関する技術情報が非常に少ないので、少しまとめておきます。

資料はバージョンが古いく、しかも作成年度も古いのが多いです。しかし、PDF 又はAcrobat のエンジニア向けの基本的な技術はこの10年間はそれ程進歩していません。よって思った以上に使える事に気がつくはずです。

読みにくい英語版を見るよりは余程、楽に読めます。

 

▼ Acrobat SDK 関連

  1. Acrobat JavaScript Object Specification バージョン 5.0.5
    テクニカルノート# 5186 改訂日:2001年9月14日

    (297頁) Acrobat 5.0 JavaScript リファレンスマニュアル。
    PDF ドキュメントでJavaScript を使用するために必要なすべての情報
  2. Developing Acrobat Applications Using JavaScript
    Adobe Acrobat SDK バージョン 8.0

    (220頁) JavaScript を使用してAdobe Acrobat での開発や拡張したりする方法について
    説明したマニュアル。必読!
  3. JavaScript for Acrobat 3D Annotations API Reference
    Adobe Acrobat SDK 2007年4月バージョン 8.1

    (105頁) 3D 機能(3D注釈のJavaScript API)をユーザに提供したい開発者を対象にしたマニュアル
  4. Parameters for Opening PDF Files(日本語版)
    Adobe Acrobat SDK Version 8.1 April 2007

    (8頁) PDF ファイルをURL やコマンドの中で開く際に使用できるパラメータについて説明したマニュアル
  5. Adobe Acrobat Workshop
    (78頁) Acrobat 7.0 JavaScript、API、IAC等の開発環境に関する概念の説明図
  6. Adobe Acrobat 7.0 Acrobat JavaScript Scripting Guide 2005年1月7日
    (276頁) Acrobat JavaScript を使用して開発したり拡張したりする方法について簡単に説明ししたもの
  7. Programming Acrobat JavaScript Using Visual Basic
    Technical Note #5417 バージョン:Acrobat 6.0 2003年5月

    (14頁) Acrobat 6.0 提供のJSObject と言うOLE オートメーション機能のプログラミング環境に関しての概念を説明したもの
  8. Acrobat JavaScript Scripting Guide
    Technical Note #5430 バージョン:Acrobat 6.0 2003年5月

    (90頁) Acrobat 6 Pro に搭載されている JavaScript 開発環境を使用して Acrobat アプリケーションを開発したり拡張したりする方法を簡単にまとめたもの
  9. Upgrading Plug-ins From Acrobat 5 to Acrobat 6
    Technical Note #5424 バージョン:Acrobat 6.0 2003年7月

    (28頁) Acrobat 6 API の概要を説明し、Acrobat 5 およびそれ以前のプラグインを Acrobat 6 にアップグレードする際に開発者が理解しておくべきことについて説明したマニュアル
  10. Adobe® Solutions Network Developer Program FAQ for Members
    Version 3.0 MAY 2002

    (461頁) ASNディベロッパーサポートプログラム会員から頂いたAcrobat Plug-in API,IAC,Readerに関する質問を整理した情報
  11. Acrobat Developer FAQ
    Adobe Developer Relations 改定:1999年9月2日

    (37頁) 質問および回答形式を整理した情報
  12. Parameters for Opening PDF Files(日本語版)
    Adobe Acrobat SDK Version 8.1 April 2007

    (24頁) Acrobat SDK でよくある質問と回答を整理したもの
  13. Adobe Acrobat 7.0 Acrobat SDK ユーザガイド 2004年12月14日
    (124頁) Acrobat SDKで提供されている機能、Acrobatで提供されている機能とその操作説明等
  14. JavaScript for Acrobat API Reference
    Adobe Acrobat SDK バージョン 8.0

    (765頁) Acrobat JavaScript の詳細な解説書/リファレンス

 

▼ Acrobat 一般資料

  1. Adobe Acrobat Security ディベロッパーサポート 2005年4月7日
    (43頁) Acrobat 7.0 の各種セキュリティに関する概念

 


管理人の独り言

  • 2010/4/26 「Appメソッド一覧」移行完了。かなり見直したので、結構解説が難しくなってしまったかも・・。全部の移行が完了したら、再度見直す事にして、次に行きます。
  • 2010/5/14 データの移行と再リンクが終わりました(汗)。サイトマップの構成も少し見直して・・。後は見直し(リニューアル)する必要有り。OLE(IAC)の全貌が判った時点で細かい部分の追加が必要となった。各頁にかなりの追加と再テストが必要だが既に環境は出来あがっている。本当の踏ん張ると事はココからかもしれない。
  • 2010/5/18 Appオブジェクトの移行が完了しました。
  • 2012/11/12 AFormAut オブジェクトが IAC に含まれていない盲点に orz
  • 2013/10/14 JavaScriptAPIと言う当サイト独自の表現を JSObject と本来の表現に変更する。
  • 2015/5/9 サイトのレイアウトを変更。

 


▼ Acobat OLE 以外の選択

Adobe Acrobat OLE(IAC)以外で、PDFファイルをプログラミング操作する情報を以下に提供します。

VBA の Shell 関数(又はWscriptのExec関数)で起動する事により、IACには無い機能で複数ファイルの自動化処理が可能だと思われます。

  1. Qpdf
    PDF をコマンドラインで操作するツール
    セキュリティ(パスワード)の設定が出来る!
     
  2. Poppler
    PDF をコマンドラインで操作するツール
    Xpdf をペースした機能拡張版
    注意:公式サイトからはWin版EXEは配布されてません。
       
  3. pdf2htmlEX
    PDF をHTMLへ変換する高性能なツール
       
  4. Coherent PDF Command Line Tools
    非常に多機能なコマンドラインツール
    ライセンスに注意が必要
      
  5. Xpdf
    PDF をコマンドラインで操作するツール
    Popplerの旧バージョン。安定版。
     
  6. PDFtk *  ※検証予定(時期未定)
    PDF をコマンドラインで操作するツール
  7. PDFill PDF Writer: PDF作成ツール
    コマンドラインの使用は有償版のみ。
    無償版と有償版。表示は英語。
      
  8. ★その他の各種ソフトとツール★
    各種のPDFソフトウェアを一覧でまとめたサイトです。
    たぶん、ココの情報が最新で内容も充実してると思われます。

 


[コメント入力] <-をクリックするとページの最後にコメント入力が出来ます。
名前(ニックネーム)は必須。メールアドレス(非表示)も必須ですが、適当(abc@mail.jp)で結構です。

【更新日:2016/06/19 (10版)】

pdf2htmlEX:PDFをHTMLへ変換するツール [永遠に作業中:8]

TOP > *


Girls gone wild !!


概要

PDFを画像では無く、純粋なHTMLへ驚くほど高精度に変換します。

 

まずは下のどちらがPDFでどちらがHTMLでしょうか?

▽サンプル①

pdf2htmlEX:PDFをHTMLへ変換するツール・変換前のPDF

▽サンプル②

pdf2htmlEX:PDFをHTMLへ変換するツール・変換後のHTML

正解は①がPDF、②がHTMLです。上記の画像をクリックするとハッキリと判ります。

②は①を変換したHTMLです。ページヘ移動するリンク、上記には表示してませんが しおり、文字列の選択、コピー、検索も可能です。

 

これ以降は Windows版 バージョン 0.14.6 での解説になります。

 

特徴

  1. フリーソフト(GPL3 ライセンス)
  2. 画像では無く、検索可能なHTMLに変換
  3. フォントをPDFから抽出してHTMLに含める
    (Type 3フォントは未サポート)
  4. 変換後のHTMLは選択やコピーが可能
  5. しおり も使えます 
  6. ネットでの評価は非常に良い 
  7. 頻度は落ちているがバージョンアップは停止してない
  8. マルチバイト(漢字)対応。
    ※しかし現時点(2016/7/10) v 0.14.6 のWin版は日本語処理が確認できず
  9. (発表時は)香港の学生?が作成。

 

日本語の対応

公開サイトでは堂々と「日本語をサポート」と書かれています。

しかし最新バージョンの 0.14.6 Windows 版で日本語を含むPDFの変換ができない現象を確認しています。2016/7/10時点で開発者のGitHUBサイトのISSUSEにて確認を行っている最中です。Windows版バイナリー公開サイトへも確認中です。

ただコチラで動作確認をしたところ、旧バージョン 0.12 と 0.11 では変換中に多少のエラーは出ますが基本部分は問題無く、HTMLへ変換できました。

よってココでの紹介は 0.14.6 内容ですが。日本語PDFの変換が出来ない場合は旧バージョン 0.12 をご使用ください。

 

ダウンロード

Windows 版のダウンロードはココからです。以下の2つをダウンロードしてください。

  1. pdf2htmlEX-win32-0.14.6-upx-with-poppler-data.zip 又は
    pdf2htmlEX-win32-0.14.6-with-poppler-data.zip
    UPXの圧縮EXE版は「-upx-」の方です。迷う方は下の「-upx-」無し版をオススメします。EXE本体が圧縮されているか、無いかの違いだけです。
      
  2. pdf2htmlEX v0.12-win32-static(pdf2htmlEX-0.12-win32-static-with-poppler-data.zip)
    旧バージョン(更新:2014/11/11)です。ダウンロードして保管してください。理由は既に説明済み。

pdf2htmlEX のWindows版のダウンロード

 

インストール

pdf2htmlEX-win32- ・・・ -with-poppler-data.zipを全て解凍して、適当なフォルダにそのままで全ファイルを置くだけです。EXE 以外のファイルやフォルダも同じ状態で解凍してください。

できれば半角の空白が入らないフォルダの下に入れてください。半角の空白が入るとプログラムからコマンドライン起動する時に起動できない問題が発生してしまいます。

必要な方はWindowsの環境変数「PATH=」にパスを追加してください。

 

バージョンとHelp の内容

 

形式

pdf2htmlEX  [options]  <input.pdf>  [<output.html>]

  • options : オプション。複数の組み合わせ可能。
  • input.pdf : 入力のPDFファイル名
  • output.html : 出力するHTMLトファイル名
    未指定時はカレントフォルダに拡張子.html で同じファイル名で作成します。
    保存先フォルダもココで指定できます。相対、フルパスもOK。詳細は後で。

各区切りは1つ以上の半角の空白です。

 

Options : オプション

多くのオプションが有りますが、基本はデフォルトで動作するようにセッティングされています。

各オプションはオプション文字列の前にハイフン2つ「--」又はハイフン1つ「-」、そしてオプション名です。更に値が続く場合は1つ以上の半角の空白を入れてから、値を入れます。複数のオプションを入れる時も1つ以上の半角の空白を入れて連続させます。

オプション名の入力ミス時は「--help」と同じ動作をします。

例:2ページから10ページ 

-f  2  -l  10

例:2ページから10ページ

--first-page  2  --last-page  10

 

ページ 関連のオプション

 

-f, --first-page <num> (Default: 1)

処理するための最初のページを指定します。デフォルトは1頁からです。

 

-l, --last-page <num> (Default: last page)

処理するための最後のページを指定します。デフォルトは最終頁です。

 

寸法 関連のオプション

 

--zoom <ratio>

変換後の表示ズームの倍率を指定します。

例: 1.5倍

>pdf2htmlex  --zoom 1.5  data2¥input.pdf  save¥out.html

 

--fit-width <width>

ページの最大の幅をピクセル単位で指定します。

縦横比は維持されます。各ページのサイズが異なる場合は最大サイズのページの幅を指定値にして、他の小さいページは同じ倍率で幅を調整します。(目視で確認

例: 幅を700ピクセル

>pdf2htmlex  --fit-width 700  data2¥input.pdf  save¥out.html

 

--fit-height <height>

ページの最大の高さをピクセル単位で指定します。

縦横比は維持されます。各ページのサイズが異なる場合は最大サイズのページの高さを指定値にして、他の小さいページは同じ倍率で高さを調整します。(目視で確認

例: 高さを500ピクセル

>pdf2htmlex  --fit-height 500  data2¥input.pdf  save¥out.html

 

複数の値が指定されている場合は、最小のものが使用されます。

何も指定されていない場合、ページは72dpiとして表示されます。

 

--use-cropbox <0|1> (Default: 1)

出力時はMediaBox(メディアボックス)の代わりにCropBox(クロックボックス)を使用します。デフォルト1:使用する。0:使用しない。(テスト確認できるPDF無し

例:

>pdf2htmlex  --use-cropbox 0  data2¥input.pdf  save¥out.html

Poppler : Pdfinfo の使い方 より
MediaBox : メディアボックス
ページ内の余白を含まない領域です。
CropBox : クロックボックス
ページの余白も含んだ可視領域です。

 

--hdpi <dpi>, --vdpi <dpi> (Default: 144)

画像の水平方向、垂直方向のDPI(解像度)を指定します。ここでの解像度は変換後の画像の部分の事を言っているみたいです。デフォルトは144DPIです。

目視で144と4000を見比べたですが、・・・テキスト部分に関しては違いは確認できず。画像部分に関しては拡大して見比べると、144がやや粗くなっている程度でした。よって画像を使っていて、より美しく見せたい時は値を大きくしましょう。その分だけファイルのサイズは大きくなります。大きくなる割合は画像の使用量によって変わります。

また、値を3000等の大きくすると画像部分のみが表示できない現象を確認しています。指定時は必ず各種ブラウザで確認してください。

 

出力 関連のオプション

 

--embed <string>

--embed-css <0|1> (Default: 1)

--embed-font <0|1> (Default: 1)

--embed-image <0|1> (Default: 1)

--embed-javascript <0|1> (Default: 1)

--embed-outline <0|1> (Default: 1)

出力HTMLファイルに埋め込まれるべき要素(CSS、フォント、画像、Javascript、アウトライン)を指定します。オフ(0) 時、対応する要素はHTML以外の別ファイルとして出力されます。

以下、0:別ファイルへ。1:含める。デフォルトは全て1の「含める」です。

--embed-css <0|1> はCSSをHTMLに含めるかを指定します。

--embed-font <0|1> はフォントをHTMLに含めるかを指定します。

--embed-image <0|1> は画像をHTMLに含めるかを指定します。

--embed-javascript <0|1> はJavaScriptをHTMLに含めるかを指定します。

--embed-outline <0|1> はアウトラインをHTMLに含めるかを指定します。

上記の--embed-css、--embed-font、--embed-image、--embed-javascript、--embed-outline を1つでまとめて設定できるのが --embed <string> です。

--embed <string> の引数の文字列は --embed-X** オプションのXの1文字に相当する文字を指定します。Xが大文字の時は「含める」の1になり、Xが小文字の時は「別ファイルへ」の0になります。

例:

--embed cfijo  :全ての要素を別ファイルへ出力します。

--embed CFIJO  :全ての要素をHTMLへ含めます。

--embed i  :画像以外はHTMLへ含めます。

 

--dest-dir <dir> (Default: .)

Specify destination folder.
元のインストール先フォルダを指定します。EXEだけを別フォルダにコピーして使用したい時に使います。なおこのオプションを指定した時、--data-dir オプションでインストール先のdata フォルダも指定する必要があります。

例:

I:¥Tools¥Run¥pdf2htmlEX-0.14.6¥Testforuda>pdf2htmlex  --dest-dir ..  --data-dir ..¥data  ..¥data2¥input.pdf

このオプションを使うと他の設定も考慮する必要があるので、あまり使わない方をオススメします。

 

--css-filename <filename> (Default: <none>)

HTMLにCSSが埋め込まれていない場合( --embed-css 0 )は、生成されるCSSのファイル名を指定します。ココのファイル名が空の場合は自動的に決定されます。

 

--page-filename <filename> (Default: <none>)

各ページ単位にファイル分割(--split-pages 1 )する時の各ファイル名のテンプレートを指定します。

%d のプレースホルダーはページ番号を配置する場所を示すために filename に含めることが出来ます。プレースホルダは指定された幅とゼロパディングを含む通常の数値プレースホルダの限られたサブセットをサポートしています。

filename にページ番号のプレースホルダが含まれていない場合はページ番号はファイル拡張子の前に直接挿入されます。ファイル名は拡張子を持っていない場合はページ番号はファイル名の末尾に配置されます。             

--page-filename を指定しない場合は、<input-filename>は.PAGE を拡張子に交換し、拡張子の前に直接ページ番号を追加し、出力ファイル名に使用されます。

例:

>pdf2htmlEX --split-pages 1 foo.pdf

生成されるファイル foo1.page, foo2.page, ・・・

>pdf2htmlEX --split-pages 1 foo.pdf --page-filename bar.baz

生成されるファイル bar1.baz, bar2.baz, ・・・

>pdf2htmlEX --split-pages 1 foo.pdf --page-filename page%dbar.baz

生成されるファイル  page1bar.baz, page2bar.baz, ・・・

>pdf2htmlEX --split-pages 1 foo.pdf --page-filename bar%03d.baz

生成されるファイル  bar001.baz, bar002.baz, ・・・

 

--outline-filename <filename> (Default: <none>)

HTMLにアウトラインが埋め込まれていない場合( --embed-outline 0 )は、生成されるアウトラインのファイル名を指定します。ココのファイル名が空の場合は自動的に決定されます。

 

--process-nontext <0|1> (Default: 1)

(画像など)の非テキストオブジェクトを処理するかどうか。1:処理する。0:処理しない。

 

--process-outline <0|1> (Default: 1)

生成されたHTMLでアウトラインを表示するかどうか。1:表示する。0:表示しない。

 

--printing <0|1> (Default: 1)

印刷を可能にします。デフォルト1:可能にする。0:可能にしない。このオプションを無効にするとCSSのサイズを小さくすることができます。

 

--fallback <0|1> (Default: 0)

フォールバックモードでの出力は、優れた精度とブラウザの互換性の為ですが、サイズが大きくなります。

※フォールバックモード:精度が低下しても表示を可能な限り維持する。(と思う。

 

--tmp-file-size-limit <limit> (Default: -1)

出力ファイルの合計サイズを制限する為に一時ファイルの合計サイズ(KB単位)を制限します。これは推定値で、一時ファイルの合計サイズがこの数よりも大きくなると、その時点でページ処理を途中停止します。その時のメッセージは「Stop processing, reach max size」です。 -1 は無制限を意味し、デフォルトです。

要は、サイズが大きくなり過ぎないようにしたい時に、一時ファイルのサイズを制限します。デフォルは制限無し。

例: 1000 KB で制限

>pdf2htmlex  --tmp-file-size-lim 1000  input.pdf
Preprocessing: 16/16
Stop processing, reach max size  <-停止のメッセージ
Working: 16/16

変換後のHTMLファイルのサイズが9000KBぐらいの時、一時ファイルのサイズは3000KBぐらいまで落とさないと途中停止は発生しないテスト結果が一部で出ています。注意してください。

 

フォント 関連のオプション

 

--embed-external-font <0|1> (Default: 1)

HTMLに埋め込まれるべきで、PDFに埋め込まれていないフォントに対して、ローカルでマッチしたフォントを指定します。

このスイッチがオフ(0)の場合、唯一のフォント名はWebブラウザが適切なフォントを自分自身で見つけることを試みることができようにエクスポートされます。それは正しくないフォントメトリックに関する問題を引き起こす可能性があります。

 

--font-format <format> (Default: woff)

PDFファイルから抽出されたフォントの形式を指定します。デフォルトはwoff です。

 

--decompose-ligature <0|1> (Default: 0)

合字を分解します。例えば 'fi' - > 'f''i' 。

 

--auto-hint <0|1> (Default: 0)

1に設定すると、ヒントは fontforge を使用しているフォントで生成されます。これは --external-hint-tool が先行することができます。

 

--external-hint-tool <tool> (Default: <none>)

tool が指定された場合、フォントの強化ヒンティングするために呼び出されます。これは--auto-hint が先行します。

tool は--font-format のために指定されるようにサフィックスが同じになる、'<tool> <in.suffix> <out.suffix>' の順で呼ばれます。

 

--stretch-narrow-glyph <0|1> (Default: 0)

1 に設定すると、PDFに記載されているよりも狭いグリフ(絵文字)は伸縮されます。それ以外の場合はスペースがグリフ(絵文字)の右側にパディングされます。

 

--squeeze-wide-glyph <0|1> (Default: 1)

1の場合は、PDFファイルに記載さよりも広いグリフ(絵文字)は圧縮されます。
それ以外の場合はそれは切り捨てられます。

 

--override-fstype <0|1> (Default: 0)

TTF/ OTFフォントでの fstype ビットをクリアします。Internet Explorer が「アクセス許可はインストール可能でなければならない」と文句を言う場合、あなたがそうする権限を持っているなら、これをオンにします。

 

--process-type3 <0|1> (Default: 0)

オンにした場合、pdf2htmlEXはテキストがHTMLでネイティブにレンダリングすることができるように、Type 3 のフォントを変換しようとします。それ以外の場合は、Type 3 フォントですべてのテキストを画像としてレンダリングされます。
この機能は非常に実験的です。

 

テキスト 関連のオプション

 

--heps <len> , --veps <len> (Default: 1)

最大許容垂直/水平方向のオフセット(ピクセル単位)を指定します。pdf2htmlEXはこの距離内でテキストを移動して生成されたHTMLファイルを最適化しようとします。デフォルト1:最適化する。0:しない。

 

--space-threshold <ratio> (Default: 0.125)

同じ行に2つの連続した文字の間の距離が ratio * フォントサイズよりも広い場合、pdf2htmlEX は空白文字を挿入します。

 

--font-size-multiplier <ratio> (Default: 4.0)

多くのWebブラウザは、最小フォントサイズを制限し、多くは与えられたフォントサイズを丸めることになります。それは間違ったレンダリングを結果として生じます。

この問題を解決するだろう1よりも比率も大きいを指定します。しかし、それは一部のブラウザがフリーズすることがあります。

Firefoxの一部のバージョンについて。しかしながら小さい方の値をここで指定する必要がある場合にはフォントサイズが大きすぎるという問題があるでしょう。

 

--space-as-offset <0|1> (Default: 0)

1に設定すると、空白文字はオフセットとして扱われ、より良い最適化を可能にします。良くないエンコーディングのPDFファイルの場合は、このオプションをオン(1)にすると文字を失う恐れがあります。

 

--tounicode <-1|0|1> (Default: 0)

ToUnicodeマップは文字の「意味」を示すPDF内の各フォントを設けているのかもしれない。しかし多くの場合は、Type 0/1 フォントに良いToUnicode 情報が有り、時々提供されるToUnicodeマップが間違っています。この値が1に設定されている場合は、ToUnicodeマップが常に適用され、PDFで提供される場合、衝突が存在する場合は文字がHTMLで正しくレンダリングされない事があります。

-1に設定した場合、カスタマイズされたマップはレンダリングがHTML(視覚的に同じ)で適切となるように使用されますが、選択&コピー&ペーストで正しい文字を取得することはできません。

0に設定するとpdf2htmlEXは上記の2つの方法のバランスをとるためにベストを試みます。

 

--optimize-text <0|1> (Default: 0)

1に設定するとpdf2htmlEXはテキストに使用されるHTML要素の数を削減しようとします。何かうまくいかない場合はオフにしてください。

 

背景画像 関連のオプション

 

--bg-format <format> (Default: png)

背景画像形式を指定します。すべてのサポートされる形式をチェックするために’pdf2htmlEX -v’を実行してください。

 

PDF保護 関連のオプション

 

-o , --owner-password <password>

オーナーパスワードを指定します。

 

-u , --user-password <password>

ユーザーパスワードを指定します。

 

--no-drm <0|1> (Default: 0)

文書のDRM(デジタル著作権管理)設定を上書きします。あなたが権限を持っている場合にのみ、このオプションをオン(1)にします。

 

その他のオプション

 

--clean-tmp <0|1> (Default: 1)

オフ(0)にした場合、中間ファイルは最後に削除されることはありません。

 

--data-dir <dir> (Default: pdf2htmlEX/data)

manifest ファイルやその他の動作に関連するファイルを保持しているフォルダを指定します。デフォルトはカレントフォルダ下のdataフォルダです。

 

--tmp-dir <dir> (Default: /tmp)

一時ファイル用に使用する一時フォルダを指定します。デフォルトは "C:¥Users¥ [ユーザー名] ¥AppData¥Local¥Temp/")

 

--css-draw <0|1> (Default: 0)

実験およびサポートされていないCSSの描画。

 

--debug <0|1> (Default: 0)

デバッグ情報の表示します。

 

メタ 関連のオプション

 

-v, --version

著作権とバージョン情報を表示します。

 

--help

使用情報を表示します。

 

終了コード

ドキュメントに記載が無いので不明です。

 

VBA関数からの起動

以下のVBA関数を利用してpdf2htmlEX.exe をコマンドライン起動できます。 

 

PDF内のJavaScriptについて

PDFの中にはAcrobat JavaScript と言うAcrobat PDF専用の拡張型 JavaScript を入れる事ができます。これはWebで使っているJavaScriptと100%同じではありません。全てがHTMLに対応した形で変換できるかは未確認です。

POPPLER : PDFINFO の使い方」の「-js」オプションでPDFにJavaScript が入っているかを事前確認出来ます。

 

エラーメッセージ

Error: Cannot open the manifest file

data フォルダが見つからない時に出ます。--data-dir オプションでインストール先のdata フォルダも指定する必要があります。又はmanifest ファイルが存在しない時に出ます。インストール状態を再確認してください。

Stop processing, reach max size

--tmp-file-size-limit オプションの指定サイズを越えた時に出るメッセージです。

 

 

< TOPへ戻る >

 

pdf2htmlEX の検証結果での問題点

 

現象

日本語を含むPDFをHTMLに変換すると、日本語の文字列の部分のみブランクの状態になる。

▽変換前のPDF

▽変換後のHTML

元のPDF:  注記)サンプルです。解決後は削除します。

  1. acrobatpro_datasheet.pdf
  2. 511727_js_api_reference.pdf

変換後のHTML:

  1. acrobatpro_datasheet.html
  2. 511727_js_api_reference.html

 

pdf2htmlEXのバージョン

 

検証したブラウザ:全て最新バージョン

( Windows 10 64bit Pro + )

  1. Internet Explorer
  2. Google Chrome
  3. Firefox
  4. Vivaldi

 

pdf2htmlEX の過去バージョンでの検証

  1. pdf2htmlEX-win32-0.13.6.zip : 日本語の文字は同様にブランクになる
  2. pdf2htmlEX-0.12-win32-static-with-poppler-data.zip : 日本語が表示できた!

バージョン 0.12 は日本語が変換できました。バージョン 0.13.6 と0.14.6 は日本語文字の部分がブランクで表示される。他のPDFも試したが結果は同じ。 なぜ? どこの設定を直したらいいのか? オプション「 --tounicode -1」を追加してもダメでした。他のオプションも試したがダメでした。

バージョン0.14.6のmanifest ファイルを0.12のに置き換えてみたが、結果に変化は無し。

どこを直したらいいんだろうか?(汗

 

< TOPへ戻る >

VBA(Excel)からAcrobat経由でPDFをプログラミング操作(OLE:IAC)する