qpdfでできること

PDF

最近自炊で利用しているPDF加工ソフトウェアをスキャナ付属のAcrobat XIからqpdfに変更しました.ページごとの回転・抽出・並べ替えなど自炊に必要なことはqpdfで簡単にコマンド(シェルスクリプト)で実行できるようになりとても便利になりました.

ただし,用意したシェルスクリプトでは対処できないイレギュラーな処理については,qpdfコマンドを直接実行する必要があります.その時のために,qpdfで利用できる処理を事例をあげて説明したいと思います.また,qpdf –helpの日本語訳も行っていきたいと思います.

この記事で扱うqpdf

この記事で対象にするqpdfのバージョンは,以下のようになっています(2022年7月現在).

% qpdf --version
qpdf version 10.6.3
Run qpdf --copyright to see copyright and license information.

ちなみに,利用しているOSはfedora 36で以下のコマンドでインストールしています.

# dnf -y install qpdf

よく使うqpdfの機能

わたしが自炊などでよく使う機能について説明します.

実際に利用しているもの

総ページ数の表示

input.pdfの総ページ数を求めます.おもに中間のページ数を求めるために利用します.

% qpdf --show-npages input.pdf
196

ページの抽出

ページを抽出するには「–pages –」を利用します.最後の–はpagesの終わりを示す記号です.なお,–pagesの直前にPDFファイルを指定する必要があります.これはこのファイルのプロパティを出力ファイルに複写するためです.プロパティの複写が必要ない場合はこの位置に「–empty」を指定してください.

input.pdfの1ページから10ページをoutput.pdfというファイル名で抽出します.

% qpdf input.pdf --pages input.pdf 1-10 -- output.pdf
% qpdf --empty   --pages input.pdf 1-10 -- output.pdf

input.pdfの1ページから10ページおよび21ページから25ページををoutput.pdfというファイル名で抽出します.

% qpdf input.pdf --pages input.pdf 1-10 input.pdf 21-25 -- output.pdf 
% qpdf --empty   --pages input.pdf 1-10 input.pdf 21-25 -- output.pdf 

color.pdfの1ページ~4ページ,input.pdfの5ページ~最終ページをoutput.pdfに出力します.

% qpdf input.pdf --pages color.pdf 1-4 input.pdf 5-z -- output.pdf 
% qpdf --empty   --pages color.pdf 1-4 input.pdf 5-z -- output.pdf 

input.pdfの前半をoutput1.pdfに,input.pdfの後半を最後のページからページの少なくなるようにoutput2.pdfに出力します.

% qpdf input.pdf --pages input.pdf 1-96 -- output1.pdf
% qpdf --empty   --pages input.pdf z-97 -- output2.pdf

ページの回転

角度の指定は-270,-180,-90,0,90,180,270が指定でき,+の値は時計回りに回転します.

input.pdfの1~5ページを時計回りに90°回転しページ全体をoutput.pdfに出力します.

% qpdf --rotate=+90:1-5 input.pdf output.pdf

input.pdfの奇数ページを反時計回りに90°回転しページ全体をoutput.pdfに出力します.

% qpdf --rotate=-90:1-z:odd input.pdf output.pdf

input.pdfの偶数ページを時計回りに90°回転しページ全体をoutput.pdfに出力します.

% qpdf --rotate=+90:1-z:odd input.pdf output.pdf

ファイルのマージ

ファイルのマージは「–pages –」を利用します.

ファイルの単純な結合

input1.pdfとinput2.pdfとinput3.pdfをこの順番にマージしoutput.pdfに出力します.

% qpdf input1.pdf --pages input1.pdf 1-z input2.pdf 1-z input3.pdf 1-z -- output.pdf
% qpdf --empty    --pages input1.pdf 1-z input2.pdf 1-z input3.pdf 1-z -- output.pdf

2つのファイルのページを交互に出力する

input1.pdfとinput2.pdfの2つのファイルがある場合で,input1.pdfの1ページ,input2.pdfの1ページ,input1.pdfの2ページ,input2.pdfの2ページ,…,というようにoutput.pdfに出力します.

% qpdf --collate --empty --pages input1.pdf input2.pdf -- output.pdf

qpdfのマニュアルページ

man qpdf

コマンド本体のマニュアル機能が充実しているためマニュアルページは簡単になっています.コマンド概要やコマンドによるヘルプの表示方法とqpdfのWebページのURLが表示されます.

以下はmanコマンドの出力例です.(見やすくするために改行をいれています)

% man qpdf
QPDF(1)                                       User Commands                           

NAME
       qpdf - PDF transformation software

SYNOPSIS
       qpdf [ options ] infilename [ outfilename ]

DESCRIPTION
       The  qpdf program is used to convert one PDF file to another equivalent PDF file.  
    It is capable of performing a variety of transformations such as linearization 
       (also known as web optimization or fast web  viewing),  encryption, and decryption 
       of PDF files.  It also has many options for inspecting or checking PDF files, 
       some of which are useful primarily to PDF developers.

       For a summary of qpdf's options, please run qpdf --help. A complete manual can be found at   
       https://qpdf.readthe‐docs.io.

qpdf version 10.6.3

qpdf –help

qpdf –helpコマンドを実行すると以下のように表示されます.

% qpdf --help
Run "qpdf --help=topic" for help on a topic.
Run "qpdf --help=--option" for help on an option.
Run "qpdf --help=all" to see all available help.

Topics:
  add-attachment: attach (embed) files
  advanced-control: tweak qpdf's behavior
  attachments: work with embedded files
  completion: shell completion
  copy-attachments: copy attachments from another file
  encryption: create encrypted files
  exit-status: meanings of qpdf's exit codes
  general: general options
  help: information about qpdf
  inspection: inspect PDF files
  json: JSON output for PDF information
  modification: change parts of the PDF
  overlay-underlay: overlay/underlay pages from other files
  page-ranges: page range syntax
  page-selection: select pages from one or more files
  pdf-dates: PDF date format
  testing: options for testing or debugging
  transformation: make structural PDF changes
  usage: basic invocation

For detailed help, visit the qpdf manual: https://qpdf.readthedocs.io

コメント

タイトルとURLをコピーしました