Poppler:Pdfseparate の使い方

TOP > Poppler ツール > *


OKIMG_5913

機能

PDFファイルから1ページ単位の抽出(分割)をします。

PDFファイルに文書を開くパスワードが掛かっている場合は出来ません。また添付ファイルにパスワードが掛かっている場合も処理できません。それ以外のセキュリティ設定の影響は受けません。「ページの抽出」が許可されて無くても問題無く抽出出来ます。

PDFファイルに文書を開くパスワードが掛かっている場合は「Qpdf  : PDFのパスワードとセキュリティ設定を解除するVBA関数 」で解除してからお使いください。

これ以降は Poppler pdfimages.exe version 0.45.0 Windows版での内容です。

 

Help の内容

 

形式

pdfseparate  [options]  PDF-file  PDF-page-pattern

  • options : オプション。複数の組み合わせ可能
  • PDF-file : 入力のPDFファイル名
  • PDF-page-pattern : 出力ファイル名のパターン名
    「%d」 文字列が含まれて無いとエラー。

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

 

説明

pdfseparate はPDFファイル[PDF-file] を読み込み、1つまたは複数のページを抽出(分割)します。そして PDF-page-pattern で指定したパターンをファイル名にして、1ページ毎に1つのPDFファイルを書き出します。PDF-page-pattern には 「%d」 文字列が含まれている必要があります。

例:

pdfseparate  IN.pdf  OUT-%d.pdf

入力PDFはIN.pdfです。出力ファイルは

  • OUT-1.pdf
  • OUT-2.pdf
  • OUT-3.pdf
  • ・・・・
  • OUT-9.pdf
  • OUT-10.pdf
  • OUT-11.pdf

となります。

これ以降は各種 options の説明です。

 

Options

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

例: 

-f  1  -l  10

-f <int>

PDFを抽出するページ範囲の最初のページ番号を指定します。無指定は1ページからの扱いになります。基本的に「 -l 」オプションと対で使用します。

例:

5頁から12頁までの一覧を表示

pdfseparate -f 5 -l 12 abcd.pdf  save¥out-%03d.pdf

-l <int>

PDFをスキャンするページ範囲の最後のページ番号を指定します。無指定は最終ページまでの扱いになります。基本的に「 -f 」オプションと対で使用します。

例:

3頁から25頁までの一覧を表示

pdfseparate -f 3 -l 25 abcd.pdf   D:¥work¥out-%02d.pdf

-v

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

-h , -help , --help , -?

著作権とバージョン情報、形式、引数などの簡単な説明を一覧表示します。

 

終了コード

終了コードは不明です。ネット上のドキュメントに記載が無い為です。他のPoppler ツールと同じならば以下のコードが返されるはずです。※要テスト





  • 0 : エラー無し
  • 1 : 入力PDFファイルを開く時にエラーが発生した
  • 2 : 出力ファイルを開く時にエラーが発生した
  • 3 : 入力PDFファイルのアクセス権に関連するエラーが発生した
  • 99 : その他のエラー

 

VBA関数からの起動

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

 

PDF-pattern-destfile の補足

PDFの「出力ファイル名のパターン名」で付属ドキュメントに書かれてない小技を紹介します。例を使って説明します。

例:

数字部分を3桁にしたファイル名にしたい時は「%03d」とします。

>pdfseparate  IN.pdf  OUT-%03d.pdf

  • OUT-001.pdf
  • OUT-002.pdf
  • OUT-003.pdf
  • ・・・・
  • OUT-009.pdf
  • OUT-010.pdf
  • OUT-011.pdf

例:

カレント・フォルダの下位フォルダ「save」に保存したい。

>pdfseparate  IN.pdf  save¥OUT-%03d.pdf  

頭に ¥ を付けて 「¥save¥OUT-%03d.pdf」とすると

>pdfseparate  IN.pdf  ¥save¥OUT-%03d.pdf
I/O Error: Couldn't open file '¥save¥OUT-001.pdf'

怒られて、エラーになります。  

例:

保存先をフルパスで指定したい時は、以下の様にします。

>pdfseparate  IN.pdf  D:¥work¥OUT-%02d.pdf  

例:

フォルダ名に半角の空白が有る時は、ダブルクオーテーションで囲みます。

>pdfseparate  IN.pdf  "D:¥work¥sa ve¥OUT-%02d.pdf"

例:

ファイル名に半角の空白が有る時は、ダブルクオーテーションで囲みます。

>pdfseparate  IN.pdf  "D:¥work¥O U T -%02d.pdf"     

 

エラーメッセージの表示例

オプション等の指定ミスで表示されるエラーメッセージのサンプルです。

  • 「I/O Error: Couldn't open file 'xxxxx.pdf'」
    PDF-pattern-destfile の指定内容が間違っています。
  • --help の内容
    存在しないオプション「-upw」を指定しています。
  • 「Syntax Error ・・・・」
    入力PDFの添付ファイルにパスワードが掛かっています。

存在しないオプションを指定すると --help と同じ動作をします。

何もメッセージが出ない時は正常終了です。

 

備考

  1. 入力PDFファイルのセキュリティ設定でコピーや抽出がすべて「許可しない」になっていても問題無く実行できます。
  2. 抽出(分割)時は文書プロパティのタイトル等のメタデータはそのままコピーされます。
  3. 抽出(分割)時は添付ファイルはそのまま全ての保存ファイルにコピーされます。

 

動作確認の環境

  • Windows 10 64bit Pro
  • Microsoft Office 2007 Excel 32bit

 

< Poppler へ戻る >

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin