#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
--- エラーメッセージを出力しない

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS