TOP > *
概要
PDFを画像では無く、純粋なHTMLへ驚くほど高精度に変換します。
まずは下のどちらがPDFでどちらがHTMLでしょうか?
▽サンプル①
▽サンプル②
正解は①がPDF、②がHTMLです。上記の画像をクリックするとハッキリと判ります。
②は①を変換したHTMLです。ページヘ移動するリンク、上記には表示してませんが しおり、文字列の選択、コピー、検索も可能です。
これ以降は Windows版 バージョン 0.14.6 での解説になります。
特徴
- フリーソフト(GPL3 ライセンス)
- 画像では無く、検索可能なHTMLに変換
- フォントをPDFから抽出してHTMLに含める
(Type 3フォントは未サポート) - 変換後のHTMLは選択やコピーが可能
- しおり も使えます
- ネットでの評価は非常に良い
- バージョンアップは停止してます。
しかし、コレ以上の超高機能を持ったソフトは他に存在しません。 - マルチバイト(日本語)対応。他の言語ファイルの追加が必要。
- (発表時は)香港の学生が作成。
日本語の対応
公開サイトでは堂々と「日本語をサポート」と書かれています。
最終バージョンの 0.14.6 Windows 版で日本語を含むPDFの変換には 当サイトのコメント で書かれている作業を事前にする必要が有ります。
ダウンロード
Windows 版は以下をダウンロードしてください。
Download:
/pdf2htmlEX-win32-0.14.6-with-poppler-data.zip ( 10.2 MB )
【配布に関するご案内】
本ソフト(pdf2htmlEX Windows版)は、GPLv3ライセンスに基づくオープンソースソフトウェアです。有志がビルドし公開していた貴重なアーカイブファイルを、ライセンス条項に基づき当サイトにてミラー(二次配布)として保管・公開しています。
プロジェクト公式サイトはコチラで、ソースコードのダウンロードサイトはコチラです。
インストール
pdf2htmlEX-win32- ・・・ -with-poppler-data.zipを全て解凍して、適当なフォルダにそのままで全ファイルを置くだけです。EXE 以外のファイルやフォルダも同じ状態で解凍してください。
できれば半角の空白が入らないフォルダの下に入れてください。半角の空白が入るとプログラムからコマンドライン起動する時に起動できない問題が発生してしまいます。
必要な方はWindowsの環境変数「PATH=」にパスを追加してください。
バージョンとHelp の内容
001 >pdf2htmlex -v
002 pdf2htmlEX version 0.14.6
003 Copyright 2012-2015 Lu Wang <coolwanglu@gmail.com> and other contributors
004 Libraries:
005 poppler 0.33.0
006 libfontforge 20150621
007 cairo 1.12.18
008 Default data-dir: I:¥Tools¥Run¥pdf2htmlEX-0.14.6/data
009 Supported image format: png jpg svg
010
011
012 >pdf2htmlex -h
013 Usage: pdf2htmlEX [options] <input.pdf> [<output.html>]
014 -f,--first-page <int> first page to convert (default: 1)
015 -l,--last-page <int> last page to convert (default: 2147483647)
016 --zoom <fp> zoom ratio
017 --fit-width <fp> fit width to <fp> pixels
018 --fit-height <fp> fit height to <fp> pixels
019 --use-cropbox <int> use CropBox instead of MediaBox (default: 1)
020 --hdpi <fp> horizontal resolution for graphics in DPI (default: 144)
021 --vdpi <fp> vertical resolution for graphics in DPI (default: 144)
022 --embed <string> specify which elements should be embedded into output
023 --embed-css <int> embed CSS files into output (default: 1)
024 --embed-font <int> embed font files into output (default: 1)
025 --embed-image <int> embed image files into output (default: 1)
026 --embed-javascript <int> embed JavaScript files into output (default: 1)
027 --embed-outline <int> embed outlines into output (default: 1)
028 --split-pages <int> split pages into separate files (default: 0)
029 --dest-dir <string> specify destination directory (default: ".")
030 --css-filename <string> filename of the generated css file (default: "")
031 --page-filename <string> filename template for split pages (default: "")
032 --outline-filename <string> filename of the generated outline file (default: "")
033 --process-nontext <int> render graphics in addition to text (default: 1)
034 --process-outline <int> show outline in HTML (default: 1)
035 --process-annotation <int> show annotation in HTML (default: 0)
036 --process-form <int> include text fields and radio buttons (default: 0)
037 --printing <int> enable printing support (default: 1)
038 --fallback <int> output in fallback mode (default: 0)
039 --tmp-file-size-limit <int> Maximum size (in KB) used by temporary files, -1 for no limit. (default: -1)
040 --embed-external-font <int> embed local match for external fonts (default: 1)
041 --font-format <string> suffix for embedded font files (ttf,otf,woff,svg) (default: "woff")
042 --decompose-ligature <int> decompose ligatures, such as ・・-> fi (default: 0)
043 --auto-hint <int> use fontforge autohint on fonts without hints (default: 0)
044 --external-hint-tool <string> external tool for hinting fonts (overrides --auto-hint) (default: "")
045 --stretch-narrow-glyph <int> stretch narrow glyphs instead of padding them (default: 0)
046 --squeeze-wide-glyph <int> shrink wide glyphs instead of truncating them (default: 1)
047 --override-fstype <int> clear the fstype bits in TTF/OTF fonts (default: 0)
048 --process-type3 <int> convert Type 3 fonts for web (experimental) (default: 0)
049 --heps <fp> horizontal threshold for merging text, in pixels (default: 1)
050 --veps <fp> vertical threshold for merging text, in pixels (default: 1)
051 --space-threshold <fp> word break threshold (threshold * em) (default: 0.125)
052 --font-size-multiplier <fp> a value greater than 1 increases the rendering accuracy (default: 4)
053 --space-as-offset <int> treat space characters as offsets (default: 0)
054 --tounicode <int> how to handle ToUnicode CMaps (0=auto, 1=force, -1=ignore) (default: 0)
055 --optimize-text <int> try to reduce the number of HTML elements used for text (default: 0)
056 --correct-text-visibility <int> try to detect texts covered by other graphics and properly arrange them (default: 0)
057 --bg-format <string> specify background image format (default: "png")
058 --svg-node-count-limit <int> if node count in a svg background image exceeds this limit, fall back this page to bitmap background; negative value means no limit. (default: -1)
059 --svg-embed-bitmap <int> 1: embed bitmaps in svg background; 0: dump bitmaps to external files if possible. (default: 1)
060 -o,--owner-password <string> owner password (for encrypted files)
061 -u,--user-password <string> user password (for encrypted files)
062 --no-drm <int> override document DRM settings (default: 0)
063 --clean-tmp <int> remove temporary files after conversion (default: 1)
064 --tmp-dir <string> specify the location of temporary directory. (default: "C:¥Users¥xxxx¥AppData¥Local¥Temp/")
065 --data-dir <string> specify data directory (default: "I:¥Tools¥Run¥pdf2htmlEX-0.14.6/data")
066 --debug <int> print debugging information (default: 0)
067 --proof <int> texts are drawn on both text layer and background for proof. (default: 0)
068 -v,--version print copyright and version info
069 -h,--help print usage information
形式
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 の検証結果での問題点
2020/08/20時点での修正:
最終バージョンの 0.14.6 Windows 版で日本語を含むPDFの変換には 当サイトのコメント で書かれている作業を事前に行うことで解消できました。
pdf2htmlEX の過去バージョンでのメモ
- pdf2htmlEX-win32-0.13.6.zip :
日本語の表示が出来ない。日本語がブランクになる
※多分、ココと同じ作業で解決するかもしれない。(未確認 - pdf2htmlEX-0.12-win32-static-with-poppler-data.zip :
日本語が表示できた!
インストールのツリー構造
日本語を扱えるようにするには「share」フォルダの下に追加する「poppler」フォルダの配置に注意が必要です。
pdf2htmlEX-win32-0.14.6-with-poppler-data
|
+--data
| |
| +--base.css
| +--base.css.in
| +--base.min.css
| +--build_css.sh
| +--build_js.sh
| +--compatibility.min.js
| +--fancy.css
| +--fancy.css.in
| +--fancy.min.css
| +--LICENSE
| +--manifest
| +--pdf2htmlEX.js
| +--pdf2htmlEX.js.in
| +--pdf2htmlEX.min.js
| +--pdf2htmlEX-64x64.png
|
+--share
| |
| +--poppler
| |
| +--cidToUnicode
| | |
| | +--Adobe-CNS1
| | +--Adobe-GB1
| | +--Adobe-Japan1
| | +--Adobe-Korea1
| |
| +--cMap
| | |
| | +--Adobe-CNS1
| | | |
| | | +--Adobe-CNS1-0
| | | +--Adobe-CNS1-1
| | | +--Adobe-CNS1-2
| | | +--Adobe-CNS1-3
| | | +--Adobe-CNS1-4
| | | +--Adobe-CNS1-5
| | | +--Adobe-CNS1-6
| | | +--Adobe-CNS1-B5pc
| | | +--Adobe-CNS1-ETen-B5
| | | +--Adobe-CNS1-H-CID
| | | +--Adobe-CNS1-H-Host
| | | +--Adobe-CNS1-H-Mac
| | | +--Adobe-CNS1-UCS2
| | | +--B5-H
| | | +--B5pc-H
| | | +--B5pc-UCS2
| | | +--B5pc-UCS2C
| | | +--B5pc-V
| | | +--B5-V
| | | +--CNS1-H
| | | +--CNS1-V
| | | +--CNS2-H
| | | +--CNS2-V
| | | +--CNS-EUC-H
| | | +--CNS-EUC-V
| | | +--ETen-B5-H
| | | +--ETen-B5-UCS2
| | | +--ETen-B5-V
| | | +--ETenms-B5-H
| | | +--ETenms-B5-V
| | | +--ETHK-B5-H
| | | +--ETHK-B5-V
| | | +--HKdla-B5-H
| | | +--HKdla-B5-V
| | | +--HKdlb-B5-H
| | | +--HKdlb-B5-V
| | | +--HKgccs-B5-H
| | | +--HKgccs-B5-V
| | | +--HKm314-B5-H
| | | +--HKm314-B5-V
| | | +--HKm471-B5-H
| | | +--HKm471-B5-V
| | | +--HKscs-B5-H
| | | +--HKscs-B5-V
| | | +--UCS2-B5pc
| | | +--UCS2-ETen-B5
| | | +--UniCNS-UCS2-H
| | | +--UniCNS-UCS2-V
| | | +--UniCNS-UTF8-H
| | | +--UniCNS-UTF8-V
| | | +--UniCNS-UTF16-H
| | | +--UniCNS-UTF16-V
| | | +--UniCNS-UTF32-H
| | | +--UniCNS-UTF32-V
| | |
| | +--Adobe-GB1
| | | |
| | | +--Adobe-GB1-0
| | | +--Adobe-GB1-1
| | | +--Adobe-GB1-2
| | | +--Adobe-GB1-3
| | | +--Adobe-GB1-4
| | | +--Adobe-GB1-5
| | | +--Adobe-GB1-GBK-EUC
| | | +--Adobe-GB1-GBpc-EUC
| | | +--Adobe-GB1-H-CID
| | | +--Adobe-GB1-H-Host
| | | +--Adobe-GB1-H-Mac
| | | +--Adobe-GB1-UCS2
| | | +--GB-EUC-H
| | | +--GB-EUC-V
| | | +--GB-H
| | | +--GBK2K-H
| | | +--GBK2K-V
| | | +--GBK-EUC-H
| | | +--GBK-EUC-UCS2
| | | +--GBK-EUC-V
| | | +--GBKp-EUC-H
| | | +--GBKp-EUC-V
| | | +--GBpc-EUC-H
| | | +--GBpc-EUC-UCS2
| | | +--GBpc-EUC-UCS2C
| | | +--GBpc-EUC-V
| | | +--GBT-EUC-H
| | | +--GBT-EUC-V
| | | +--GBT-H
| | | +--GBTpc-EUC-H
| | | +--GBTpc-EUC-V
| | | +--GBT-V
| | | +--GB-V
| | | +--UCS2-GBK-EUC
| | | +--UCS2-GBpc-EUC
| | | +--UniGB-UCS2-H
| | | +--UniGB-UCS2-V
| | | +--UniGB-UTF8-H
| | | +--UniGB-UTF8-V
| | | +--UniGB-UTF16-H
| | | +--UniGB-UTF16-V
| | | +--UniGB-UTF32-H
| | | +--UniGB-UTF32-V
| | |
| | +--Adobe-Japan1
| | | |
| | | +--78-EUC-H
| | | +--78-EUC-V
| | | +--78-H
| | | +--78ms-RKSJ-H
| | | +--78ms-RKSJ-V
| | | +--78-RKSJ-H
| | | +--78-RKSJ-V
| | | +--78-V
| | | +--83pv-RKSJ-H
| | | +--90msp-RKSJ-H
| | | +--90msp-RKSJ-V
| | | +--90ms-RKSJ-H
| | | +--90ms-RKSJ-UCS2
| | | +--90ms-RKSJ-V
| | | +--90pv-RKSJ-H
| | | +--90pv-RKSJ-UCS2
| | | +--90pv-RKSJ-UCS2C
| | | +--90pv-RKSJ-V
| | | +--Add-H
| | | +--Add-RKSJ-H
| | | +--Add-RKSJ-V
| | | +--Add-V
| | | +--Adobe-Japan1-0
| | | +--Adobe-Japan1-1
| | | +--Adobe-Japan1-2
| | | +--Adobe-Japan1-3
| | | +--Adobe-Japan1-4
| | | +--Adobe-Japan1-5
| | | +--Adobe-Japan1-6
| | | +--Adobe-Japan1-90ms-RKSJ
| | | +--Adobe-Japan1-90pv-RKSJ
| | | +--Adobe-Japan1-H-CID
| | | +--Adobe-Japan1-H-Host
| | | +--Adobe-Japan1-H-Mac
| | | +--Adobe-Japan1-PS-H
| | | +--Adobe-Japan1-PS-V
| | | +--Adobe-Japan1-UCS2
| | | +--EUC-H
| | | +--EUC-V
| | | +--Ext-H
| | | +--Ext-RKSJ-H
| | | +--Ext-RKSJ-V
| | | +--Ext-V
| | | +--H
| | | +--Hankaku
| | | +--Hiragana
| | | +--Hojo-EUC-H
| | | +--Hojo-EUC-V
| | | +--Hojo-H
| | | +--Hojo-V
| | | +--Katakana
| | | +--NWP-H
| | | +--NWP-V
| | | +--RKSJ-H
| | | +--RKSJ-V
| | | +--Roman
| | | +--UCS2-90ms-RKSJ
| | | +--UCS2-90pv-RKSJ
| | | +--UniHojo-UCS2-H
| | | +--UniHojo-UCS2-V
| | | +--UniHojo-UTF8-H
| | | +--UniHojo-UTF8-V
| | | +--UniHojo-UTF16-H
| | | +--UniHojo-UTF16-V
| | | +--UniHojo-UTF32-H
| | | +--UniHojo-UTF32-V
| | | +--UniJIS2004-UTF8-H
| | | +--UniJIS2004-UTF8-V
| | | +--UniJIS2004-UTF16-H
| | | +--UniJIS2004-UTF16-V
| | | +--UniJIS2004-UTF32-H
| | | +--UniJIS2004-UTF32-V
| | | +--UniJISPro-UCS2-HW-V
| | | +--UniJISPro-UCS2-V
| | | +--UniJISPro-UTF8-V
| | | +--UniJIS-UCS2-H
| | | +--UniJIS-UCS2-HW-H
| | | +--UniJIS-UCS2-HW-V
| | | +--UniJIS-UCS2-V
| | | +--UniJIS-UTF8-H
| | | +--UniJIS-UTF8-V
| | | +--UniJIS-UTF16-H
| | | +--UniJIS-UTF16-V
| | | +--UniJIS-UTF32-H
| | | +--UniJIS-UTF32-V
| | | +--UniJISX0213-UTF32-H
| | | +--UniJISX0213-UTF32-V
| | | +--UniJISX02132004-UTF32-H
| | | +--UniJISX02132004-UTF32-V
| | | +--V
| | | +--WP-Symbol
| | |
| | +--Adobe-Japan2
| | | |
| | | +--Adobe-Japan2-0
| | |
| | +--Adobe-Korea1
| | |
| | +--Adobe-Korea1-0
| | +--Adobe-Korea1-1
| | +--Adobe-Korea1-2
| | +--Adobe-Korea1-H-CID
| | +--Adobe-Korea1-H-Host
| | +--Adobe-Korea1-H-Mac
| | +--Adobe-Korea1-KSCms-UHC
| | +--Adobe-Korea1-KSCpc-EUC
| | +--Adobe-Korea1-UCS2
| | +--KSC-EUC-H
| | +--KSC-EUC-V
| | +--KSC-H
| | +--KSC-Johab-H
| | +--KSC-Johab-V
| | +--KSCms-UHC-H
| | +--KSCms-UHC-HW-H
| | +--KSCms-UHC-HW-V
| | +--KSCms-UHC-UCS2
| | +--KSCms-UHC-V
| | +--KSCpc-EUC-H
| | +--KSCpc-EUC-UCS2
| | +--KSCpc-EUC-UCS2C
| | +--KSCpc-EUC-V
| | +--KSC-V
| | +--UCS2-KSCms-UHC
| | +--UCS2-KSCpc-EUC
| | +--UniKS-UCS2-H
| | +--UniKS-UCS2-V
| | +--UniKS-UTF8-H
| | +--UniKS-UTF8-V
| | +--UniKS-UTF16-H
| | +--UniKS-UTF16-V
| | +--UniKS-UTF32-H
| | +--UniKS-UTF32-V
| |
| +--nameToUnicode
| | |
| | +--Bulgarian
| | +--Greek
| | +--Thai
| |
| +--unicodeMap
| | |
| | +--Big5
| | +--Big5ascii
| | +--EUC-CN
| | +--EUC-JP
| | +--GBK
| | +--ISO-2022-CN
| | +--ISO-2022-JP
| | +--ISO-2022-KR
| | +--ISO-8859-6
| | +--ISO-8859-7
| | +--ISO-8859-8
| | +--ISO-8859-9
| | +--KOI8-R
| | +--Latin2
| | +--Shift-JIS
| | +--TIS-620
| | +--Windows-1255
| |
| +--CMakeLists.txt
| +--COPYING
| +--COPYING.adobe
| +--COPYING.gpl2
| +--Makefile
| +--README
|
+--test
| |
| +--browser_tests
| | |
| | +--basic_text
| | | |
| | | +--basic_text.html
| | | +--f1.woff
| | | +--f2.woff
| | |
| | +--fontfile3_opentype
| | | |
| | | +--bg1.png
| | | +--f1.woff
| | | +--f2.woff
| | | +--f3.woff
| | | +--fontfile3_opentype.html
| | |
| | +--geneve_1564
| | | |
| | | +--bg1.png
| | | +--f1.woff
| | | +--f2.woff
| | | +--geneve_1564.html
| | |
| | +--invalid_unicode_issue477
| | | |
| | | +--bg1.png
| | | +--f1.woff
| | | +--f2.woff
| | | +--f3.woff
| | | +--f4.woff
| | | +--invalid_unicode_issue477.html
| | |
| | +--svg_background_with_page_rotation_issue402
| | | |
| | | +--bg1.svg
| | | +--f1.woff
| | | +--f2.woff
| | | +--f3.woff
| | | +--svg_background_with_page_rotation_issue402.html
| | |
| | +--test_fail
| | | |
| | | +--THIS_FOLDER_SHOULD_BE_EMPTY
| | |
| | +--text_visibility
| | | |
| | | +--bg1.png
| | | +--f1.woff
| | | +--f2.woff
| | | +--text_visibility.html
| | |
| | +--with_form
| | | |
| | | +--bg1.png
| | | +--f1.woff
| | | +--f2.woff
| | | +--f3.woff
| | | +--f4.woff
| | | +--f5.woff
| | | +--f6.woff
| | | +--with_form.html
| | |
| | +--basic_text.pdf
| | +--basic_text.tex
| | +--fontfile3_opentype.pdf
| | +--geneve_1564.pdf
| | +--invalid_unicode_issue477.pdf
| | +--svg_background_with_page_rotation_issue402.pdf
| | +--test_fail.pdf
| | +--test_fail.tex
| | +--text_visibility.pdf
| | +--with_form.pdf
| |
| +--old
| | |
| | +--convert_to_woff.fontforge
| | +--test.py
| |
| +--test_output
| | |
| | +--1-page.pdf
| | +--2-pages.pdf
| | +--3-pages.pdf
| | +--issue501
| |
| +--.gitattributes
| +--browser_tests.py
| +--fancy.min.css
| +--README.md
| +--start_xvfb.sh
| +--test.py
| +--test_local_browser.py
| +--test_output.py
| +--test_remote_browser.py
|
+--AUTHORS
+--ChangeLog
+--LICENSE
+--LICENSE_GPLv3
+--pdf2htmlEX.exe
+--README.md
< TOPへ戻る >


わかりやすい解説ありがとうございます。
pdf2htmlEX-win32-0.14.6-upx-with-poppler-data.zip (pdf2htmlEx.exe is packed with UPX )
これをDLしたところウィルス検出(Trojan: Win32/Spursint.F!cl
)されたのですが同様の症状はないでしょうか。
たかし さん はじめまして。
コチラではその症状は検出されませんでした。
PDF関連のコマンドライン・ツールはその手のエラーが出やすいみたいです。
(Popplerの最新バージョンは出まくりです!)
原因&詳細は不明です。
使用の可否はソチラで判断して下さい。
そうなのですね、
ご回答ありがとうございました!
通り懸りの通行人です。日本語文字もバッチリ !!
(1) 必要なファイル取得
http://soft.rubypdf.com/software/pdf2htmlex-windows-version
から次の①②を取得する。
① pdf2htmlEX-0.12-win32-static-with-poppler-data.zip
② pdf2htmlEX-win32-0.14.6-upx-with-poppler-data.zip
(2) ①②両方とも解凍する、それぞれ別々のディレクトーに入れておく。
①’ \pdf2htmlEX-0.12-win32-static-with-poppler-data
②’ \pdf2htmlEX-win32-0.14.6-upx-with-poppler-data
①’のディレクトー内にある仔ディレクトリー \share を複写貼付けして
②’のディレクトリー内にそっくり複写する。(又は、移す)
(3) ①’のディレクトリーは不要なので処分する。
~.zip があればいつでも取り出せるので。
(4)使う
~.pdf のアイコンを②’の中の pdf2htmlEX.exe に重ねる。
日本語文字もバッチリ すごいすごいすごい!!
オプションを色々指定したい場合は、
譬えば次の様な pdf2htmlEX.bat を作ってそれにアイコンを重ねるとか
echo off
cd %~dp0
set QualfName=%~f1
pdf2htmlEX.exe -option %QualfName%
more
::↑↑↑(-option)を適宜書換えて指定する。
長文多謝
お父さん はじめまして。
ありがとうございます。出来ました!
以前、変換できなかった日本語のPDFも 0.14.6 で変換できました。
Popperの「言語ファイルのインストール」と同じやり方だったんですネ。
pdf2htmlEXの 0.12 公開ファイルを見ると、確かにPopperの言語ファイルを使っている。
0.14.6だけが入ってない。<ーこれが原因とは・・
そうだ。pdf2htmlEXを検証した当時はまだ、Popperの存在を知らなかったはず。だから気が付かなかったんだ。
いや~、嬉しい。
本当にありがとうございます。m(_._)m
当ページのタイトルから「永遠に作業中」がやっと取れました。