#author("2023-01-02T18:19:55+09:00","","") #author("2023-01-02T18:21:11+09:00","","") #topicpath ////////////////////////////////////////////////////////////////////////////// * 目次 [#a5a690c4] #contents ////////////////////////////////////////////////////////////////////////////// * Viewer [#dfa32e18] //============================================================================ ** evince [#c1a91c9d] - debian5.0でデスクトップ環境を導入すると、デフォルトで入っている。 - 起動 $ evince <pdf-file> [RETURN] //============================================================================ ** xpdf [#oaeb0d7b] - Debian5.0ではオプション扱い(?) - Install # aptitude install xpdf - 起動 $ xpdf <pdf-file> [RETURN] //============================================================================ ** Adbe Reader (Linux版) [#l322c046] - Adobe社が配布している。 -- [[ダウンロードページ>http://get.adobe.com/jp/reader/otherversions/]] - 完全なfree-softではないので、Debianでは公式パッケージに含めていない - そうはいうものの、上の2つでは正しく見られないファイルもチラホラあるので、結局これを入れておいた方がいい。 - Install # dpkg -i AdbeRdr9.1.0-1_i386linux_jpn.deb -- Intel32bit CPUで、 amd64アーキテクチャがインストールされたシステムでは、そのままではインストール出来ない。よって以下のようにする: # dpkg --force-architecture -i AdobeRdr9.1.0-1_i386linux_jpn.deb -- そのままではライブラリが不足して起動出来ない。そのため、以下を別途インストールする必要がある: ia32-libs ia32-libs-gtk - 起動 $ acroread <pdf-file> [RETURN] ////////////////////////////////////////////////////////////////////////////// * 画像ファイルを pdf にする [#zc9684b2] //============================================================================ ** convert [#p6da3545] - 1つまたはそれ以上の画像ファイルを、1つの pdf に出力する $ convert <in-file1> [in-file2]... <out-file> - 複数の画像ファイルを、其々1つの pdf に出力する $ mogrify -format <type> <in-file1> [in-file2]... //---------------------------------------------------------------------------- *** エラー [#v49e96a9] - convert がコアダンプする -- /tmp に十分な余裕がない場合にコアダンプを吐いて落ちることがある。 -- /tmp の容量を増やす必要がある。もし /tmp に tmpfs や独立パーティションを割り当てている場合は /etc/fstab で/tmp のmount 先を変えるか、/ に十分な空きがある場合は /tmp の行事体をコメントアウトするなどする。 ////////////////////////////////////////////////////////////////////////////// * 複数の PDF を結合して1つの PDF にする。 [#f7f0fdf5] //============================================================================ ** pdfunite [#pdfunite] - コマンド書式 pdfunite <input-pdf-file-1> <input-pdf-file-2> [input-pdf-file-3 ...] <output-pdf-file> - 以下のようなエラーメッセージが出て結合出来ない場合、入力 PDF ファイルが暗号化されている。 Unimplemented Feature: Could not merge encrypted files ('input.pdf') -- この場合、[[qpdf>#qpdf]] を使って decrypt すると結合出来る。 ////////////////////////////////////////////////////////////////////////////// * PDF ファイルの暗号化を解除する [#qpdf] - qpdf を使用する * PDF ファイルの暗号化を解除する [#dectypt-pdf] //============================================================================ ** qpdf [#qpdf] - コマンド書式 $ qpdf <input-pdf-file> --decrypt <output-pdf-file> ////////////////////////////////////////////////////////////////////////////// * PDF を分割する [#qd405311] //============================================================================ ** pdfseparate [#d1dbbb17] - コマンド書式 $ pdfseparate [option] <in-pdf-file> <out-file> -- out-pdf-file: 出力ファイルは連番が付与される為、連番を付与したい場所に "%d" を入れる必要がある。 |~option |~description |~remark | |-f <first-page> |分割開始ページを指定する | | |-l <last-page> |分割終了のページを指定する | | ////////////////////////////////////////////////////////////////////////////// * PDF から画像を抽出する [#x8763607] //============================================================================ ** convert [#le91167c] - convert コマンドは、ImageMagik に含まれるコマンドの一つで、画像の変換などを行うことも出来る。 - コマンド書式 $ convert [option] <input-pdf-file> <output_file> - option -- デフォルトでは解像度が足りない場合、''-density'' を指定する -density <geometry> --- gormetry には 300 くらいを指定すると、小さい文字でも大分ボヤけなくなる。 - <output-file> -- 1回の実行で複数の画像が抽出されることがあるので、必要に応じて連番フォーマットを指定する。 --- 例:3桁10進数を指定したい場合 out-file_%03d.png -- 連番フォーマットを指定しなかった場合でも、convert コマンドで勝手に連番を振ってくれる。 //---------------------------------------------------------------------------- *** エラー [#efa0e0ed] - PDF からの変換が出来ない場合 -- エラーメッセージ convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408. -- 対処法 -- ImageMagick の policy.xml の以下の行により、 PS, PS2, PS3, EPS, PDF, XPS ファイルの処理が制限されているのが原因: --- /etc/ImageMagick-6/policy.xml <policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" /> --- この行をコメントアウトすることで、制限を外し、処理出来るようになる。 - 画像には変換できるが色空間のエラーが出る -- エラーメッセージ convert-im6.q16: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `cviceni_%03d.png' @ warning/png.c/MagickPNGWarningHandler/1667. -- 対処法 --- 出力ファイル名の前に ''-colorspace RGB'' を追加する。 - png から PDF への変換が出来ない場合 -- エラーメッセージ convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/421. -- 対処法 --- 上記 PDF から変換出来ない場合に同じ。 - 尚、ImageMagick 6.9.11 では、/etc/ImageMagick-6/policy.xml の修正対象行は、以下のように複数行に渡る書き方に変わっていた(下記はコメントアウト編集した後の状態) <!-- disable ghostscript format types --> <!-- <policy domain="coder" rights="none" pattern="PS" /> <policy domain="coder" rights="none" pattern="PS2" /> <policy domain="coder" rights="none" pattern="PS3" /> <policy domain="coder" rights="none" pattern="EPS" /> <policy domain="coder" rights="none" pattern="PDF" /> <policy domain="coder" rights="none" pattern="XPS" /> --> </policymap> //---------------------------------------------------------------------------- *** 参考リンク [#kb24c7b3] - [[ImageMagick で PS や PDF を扱えないわけは脆弱性対策でした>https://www.t3nro.net/posts/imagemagick-and-postscript-files/]] - [[ImageMagickでPDFをPNGに変換する際のエラー>https://www.it-swarm-ja.tech/ja/pdf/imagemagick%E3%81%A7pdf%E3%82%92png%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC/944422831/]] //============================================================================ ** pdfimage [#r3d4a0b3] - コマンド書式 $ pdfimages [option] <input-pdf-file> [prefix-for-outpu-file] - [option] -- -f <page-number> --- 開始ページを指定する -- -l <page-number> --- 終了ページを指定する -- -j --- JPEG形式で出力する -- -png --- PNG形式で出力する -- -tiff --- TIFF形式で出力する -- -p --- 出力ファイル名にページ番号を含める -- -list --- 画像のリストを表示する -- -opw <password> --- PDFのオーナーパスワードを指定する -- -upw <password> --- PDFのユーザーパスワードを指定する -- -q --- エラーメッセージを出力しない - 入力ファイルによっては、予期せぬ細分化された多数のファイルで出力されてしまい、使い物にならない場合がある。 ////////////////////////////////////////////////////////////////////////////// * PDF からテキストを抽出する [#kd146fb6] //============================================================================ ** pdftotext [#k81cea7e] - コマンド書式 pdftotext [option] <input-pdf-file> [output-file] - [option] -- -f <page-number> --- 開始ページを指定する -- -l <page-number> --- 終了ページを指定する -- -enc <encoding> --- 文字コードを指定する(デフォルトはUTF-8) -- -listenc --- 使用できるエンコーディングを一覧表示する -- -eol <形式> --- 改行コードのスタイルを「unix」「dos」「mac」の形式で指定する(デフォルトはunixで、LFを出力) -- -nopgbrk --- ページ間で改ページコードを出力しない -- -opw <password> --- PDFのオーナーパスワードを指定する -- -upw <password> --- PDFのユーザーパスワードを指定する -- -q --- エラーメッセージを出力しない