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をコピーしました