注1:受け入れられた答えはまだほとんど正しいですが、いくつかのギャップがあります。多くのPDFファイルはテキストとして直接編集できないため、欠けています。たとえそうであったとしても、そのような編集はPDFを損傷して読みにくくすることがあります。UnixとMicrosoft Windowsの両方のために働く一つの解決策は、あるqpdf「QDF」、まだ有効なPDFファイルでテキスト編集可能な形式にPDFファイルを変換することができます。qpdf
パッケージが付属していますfix-qdf
QDFファイルの後に再計算オフセットが損害を修正するために編集されていること。
注2:テキストエディタで不快ですか?最初にjpdftweakなどのGUIエディターを使用してみてください。GUI pdfエディターが機能することもありますが、その場合は完了です。しかし、私にとってよくあることですが、失敗した場合は、このより堅牢な代替手段を試すことができます。いずれにせよ、エレガントではないという私の答えに反対投票しないでください。
Qpdfを使用してPDFページ番号を編集する方法
概要:
qpdf -qdf foo.pdf foo.qdf
foo.qdfを編集
0 << >> % No label on first pages
6 << /S /D >> % Start numbering from 7th page.
fix-qdf foo.qdf >bar.qdf
- テストbar.qdf
qpdf bar.qdf bar.pdf
詳細な手順
ステップ1。
文書を簡単に編集可能なQDF形式に変換します。次のようにコマンドラインからqpdfを実行します。
qpdf -qdf foo.pdf foo.qdf
注:qpdfがまだインストールされていない場合、Microsoft Windows実行可能ファイルはhttps://github.com/qpdf/qpdf/releasesからダウンロードできます。Ubuntu やDebian GNU / LinuxなどのUnixシステムは、を入力してインストールできますapt install qpdf
。
ステップ2。
notepad ++、emacs、geditなどのテキストエディターを使用してQDFドキュメントを編集します。単語/Catalog
を検索し、その中にある<<山括弧>>に注意してください。近くに、現在の/PageLabels
(ある場合)が表示されます。
異なる番号を付ける必要がある各セクションをに追加します/PageLabels
。形式はstart-page
<< style
>>です。空白は重要ではなく、ドキュメントの最初のページは0
です。特に指定がない限り、新しいセクションは常に1からページ番号を付け始めます。
例
以下に、PageLabelsがどのように見えるかを示す完全な例をコメント付きで示します。
/Type /Catalog
/PageLabels <<
/Nums [
0 % From the first page of the document,
<<
/S /r % ...use the lowercase roman numeral style.
>>
6 % From seventh page onward,
<<
/S /D % ...use ordinary digits (arabic numerals)
>>
]
>>
ファイルにPageLabelsがない場合は、後に追加します/Type /Catalog
。たとえば、変更する場合があります。
1 0 obj
<<
…
/Type /Catalog
>>
endobj
に、
1 0 obj
<<
…
/Type /Catalog
/PageLabels
<< /Nums [
0 << >> % No label for cover
1 << /S /r >> % i, ii for index
3 << /S /D /St 15 >> % 15, 16, 17, ... for article
31 << /S /D /P (A-) >> % A-1, A-2, A-3... for appendix
]
>>
>>
endobj
オプション:異なる番号から開始する /St
特に指定しない限り、各セクションの番号は1から再開されます/St
。上記の例で、4ページ目が15から始まることに注意してください。
オプション:異なるスタイルを使用する /S
/S
演算子を使用すると、番号付けスタイルを選ぶことができます引数を取り、
- / D桁(1、2、3 ...)
- / R大文字のローマ字(I、II、III ...)
- / rローマ字小文字(i、ii、iii ...)
- / Aアルファベットの大文字(A、B、C、....、X、Y、Z、AA、AB、AC、...)
- / aアルファベットの小文字(a、b、c、....、x、y、z、aa、ab、ac、...)
/S
演算子を省略すると、ページのそのセクションには番号が付けられません。例えば:
0 << >> % No label for cover
オプション:各ページに接頭辞を追加する /P
後に括弧で単語を指定することにより、ページ番号の前に任意のテキスト文字列を表示できます/P
。
31
<<
/S /D
/P (A-) % label appendix pages A-1, A-2, A-3
>>
スタイルなしのプレフィックス(/S
)を指定すると、数字のない単語のみのページが表示されます。これは、たとえば、表紙に単に「カバー」というラベルを付けたい場合に便利です。
0 << /P (Cover) >> % No number, just "Cover"
ステップ3。
実行fix-qdf
して編集を有効なPDFにし、出力をbar.qdfに入れます。
fix-qdf foo.qdf > bar.qdf
ステップ4。
PDF表示プログラムでbar.qdfを開き、正しい番号が付けられていることを確認します。
ステップ5。
次のように、QDFファイルを変換して通常のPDFに戻します。
qpdf bar.qdf bar.pdf
タダ。できました。これで、bar.pdfにページ番号が正しくラベル付けされたドキュメントができました。