天地有情

[LaTeX] xpdf --- XPDFパッケージの使い方

§1 はじめに

更新版: 2017/05/13 (一部修正)

XPDFパッケージはPDFを表示するプログラムですが、Windows版では以下のツールのみ入手可能です.

pdfimages.exe -PDFから画像を抽出する(画像データーがあれば)
pdffonts.exe -PDFのフォント情報を表示
pdfinfo.exe -PDFの作成者情報などを表示
pdftops.exe - PDFをPostScriptファイルに変換
pdftoppm.exe - PDFをPPM画像形式に変換
pdftotext.exe -PDFからテキストを抽出する(日本の場合、日本語設定が必須) --- Windowsでは設定済みです.
pdftopng.exe - PDF の各ページを PNG に変換するプログラム
pdftohtml.exe - PDF を HTML に変換する
pdftodetach - PDF にアタッチされた部分をファイルとして抜き出すプログラム

これらは W32TeX の[bin]ホルダー下に用意されています.以下は一般的な使用法の説明です.

§2 使い方・サンプル

(1)pdftotext.exe --- PDFからテキストを抽出する

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftotext --help

(b) 使い方の例

pdftotext -enc ■■■ foo.pdf foo.txt --- foo.pdfのテキスト部を foo.txt に抽出します.

   ■■■は EUC-JP , UTF-8, Shift-JIS のいずれかを指定します.
   Shift-JIS を指定すると半角英数,スペースが全角に変換されます.対策として
   次の部分を変更します.
   
1)Shift-JIS.unicodeMap をエディタで開く
2)4~37行目の、半角英数のマッピング(20~7e)を修正する
●修正箇所は赤色部分 (4~37行目 )

000a 0a
000c 0c
000d 0d
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0020 8140
0021 8149
~ %%13行から17行を削除して
007d 8170
007e 8160

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00a7 8198
00a8 814e


●削除したあとに次の1行に置き換える

000a 0a
000c 0c
000d 0d
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0020 007e 20 %% これを追加する
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00a7 8198
00a8 814e



意味:Unicodeの0020~007eのコードを、20からの連番で置き換える

   
   なお,ISO-2022-JP は文字化けするので利用を避けてください.

pdftotext -raw -nopgbrk foo.pdf foo.txt

これは2段組のレイアウトをちゃんと認識してくれるrawオプションと,
ページが変わることを示す記号を出力しないようにするnopgbrkオプションです.

(c) サンプル

foo.pdf に含まれるテキストをfoo.txt に抽出する例

----------- foo.pdf の内容 ----------
xpdf01.png
-------------------------------------

foo.pdf のテキスト部を foo.txt として UTF-8 で抽出します.

C:\Users\Desktop> pdftotext -enc UTF-8 foo.pdf foo.txt

----------- foo.txt の内容 ----------
xpdf02.png
-------------------------------------



(2)pdfimages の使い方 --- PDFファイルから画像を抜き出す

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdfimages --help

(b) 使い方の例

foo.pdf というファイルから画像を抜いて,カレントのフォルダにに置く時の例.
pdfimages foo.pdf .\

001.ppm が生成される --- foo.pdf に含まれる画像を images-nnn.ppm
(nnn は 000 から始まる数字)として保存します.

foo.pdf というファイルからjpegを抜いて,カレントのフォルダにに置く時の例.
pdfimages.exe -j foo.pdf .\

(参考)
PNM (Portable aNyMap 形式、Netpbm形式) という名前で指される画像形式は,
特定の一種類の画像フォーマットではなく,3種類の画像形式をまとめて呼ぶときに使われる.
それはそれぞれ

portable pixmap format (PPM 形式)
portable graymap format (PGM 形式)
portable bitmap format (PBM 形式)

と呼ばれ,どれも異なるプラットフォーム間でも高い互換性を保てる画像形式として開発されたものです.

(c) サンプル

foo.pdf の画像部を抽出します.

C:\Users\Desktop> pdfimages foo.pdf .\
-000.ppn 画像が得られます.(png画像に変換してあります)

----------- 抽出画像 ----------------
xpdf03.png
-------------------------------------

(3)pdftops.exe の使い方 --- PostScriptファイルに変換

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftops --help

(b) 使い方の例

foo.pdf から foo.ps に変換します.
pdftops foo.pdf foo.ps

sample.pdfの2ページから5ページまでをsample.psというPostScriptファイルに変換します.
pdftops -f 2 -l 5 sample.pdf sample.ps

sample.pdfという文書を開くためのパスワード(ここでは「himitu」)を指定する例です.
pdftops -f 2 -l 5 -upw himitu sample.pdf sample.ps

pdftops にて, B5 サイズの PS へ変換するとき, -paper B5 では駄目です. 以下のようにします.
pdftops -paperw 516 -paperh 729

(注)B5 には, ISO のサイズと JIS のサイズがあり, JIS のサイズを指定しないと,
プリンタで正しく処理できないことがあります.

(c) サンプル

C:\Users\Desktop> pdftops foo.pdf foo.eps
eps 画像が得られます.(png画像に変換してあります)

----------- eps画像 ----------------
”(1)の画像と同じです(省略)”
-------------------------------------

(4)pdftoppm.exe の使い方 --- PDFをPPM画像形式に変換

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftoppm --help

(b) 使い方の例

foo.pdf から .ppm画像を生成します.(-000001.ppm)
pdftoppm foo.pdf .\

sample.pdfの1ページから2ページまでをppmで出力します.
pdftoppm -f 1 -l 2 sample.pdf .\

(c) サンプル

C:\Users\Desktop> pdftoppm foo.pdf .\
ppm 画像が得られます.(png画像に変換してあります)

----------- ppm画像 ----------------
”(1)の画像と同じです(省略)”
-------------------------------------

(5)pdffonts.exe の使い方 --- PDFのフォント情報を表示

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdffonts --help

(b) 使い方の例

pdfにフォントが埋め込まれてるか確認します.
pdffonts foo.pdf

(c) サンプル

C:\Users\Desktop> pdffonts foo.pdf

コンソールに以下のような形式で表示されます.

xpdf04.png


[説明]
name
PDFでのフォント名

type
フォントの種類 (Type1, CID, TrueType, Type0 Type1 Collection など)

emb埋め込まれているかどうか

sub
サブセット化されているかどうか

uni
unicode マッピングされているかどうか(これにより文字列の抽出や テキストのコピー等に
影響が出てくるが些細なもんだい)

object ID
PDF ファイルにおけるフォントのオブジェクト ID

(6)pdfinfo.exe の使い方 --- PDFの作成者情報などを表示

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdfinfo --help

(b) 使い方の例

pdfinfo foo.pdf

(c) サンプル

C:\Users\Desktop> pdfinfo foo.pdf

コンソールに以下のような形式で表示されます.

xpdf05.png

(7)pdftopng.exe --- PDFの各ページを PNG に変換する

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftopng --help

(b) 使い方の例

sample.pdf の 1page と 2page を画像(png)化する例.
pdftopng -f 1 -l 2 sample.pdf sample.png
   sample.png-0000001.png と sample.png-0000002.png が生成される.

(8)pdftohtml --- PDF を HTML に変換する

(a) コマンドラインからヘルプの表示

C:\Users\Desktop> pdftopng --help

(b) 使い方の例

sample.pdf の 1page と 2page をHTML化する例.
pdftohtml -f 1 -l 2 sample.pdf sample.html
   sample.html ディレクトリが生成され,その中に
   index.html, page1.html, page2.html が含まれている.

スポンサーサイト
  1. 2013/10/08(火) 15:23:31|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0
<<[LaTeX] PDF-crypt --- PDFの暗号化 ~2つの暗号化コマンドの紹介 ~ | ホーム | mklink コマンドを使ってみよう ----- 備忘録>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://konoyonohana.blog.fc2.com/tb.php/48-5d70ada9
この記事にトラックバックする(FC2ブログユーザー)