コンテンツにスキップ

「PDF、PS および DjVu」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
→グラフィカル: 一部飜訳
→ps2pdf: 校正
 
(同じ利用者による、間の30版が非表示)
12行目: 12行目:
* {{App|[[Wikipedia:MuPDF|Mupdf]]| MuPDF は、ソフトウェアライブラリ、コマンドラインツール、ビューアから構成される、軽量のPDF、XPS、EPUBビューアです。|https://mupdf.com/|{{Pkg|libmupdf}}}}
* {{App|[[Wikipedia:MuPDF|Mupdf]]| MuPDF は、ソフトウェアライブラリ、コマンドラインツール、ビューアから構成される、軽量のPDF、XPS、EPUBビューアです。|https://mupdf.com/|{{Pkg|libmupdf}}}}
* {{App|libspectre|PostScript 文書を描画するための小さなライブラリ。|https://www.freedesktop.org/wiki/Software/libspectre|{{Pkg|libspectre}}}}
* {{App|libspectre|PostScript 文書を描画するための小さなライブラリ。|https://www.freedesktop.org/wiki/Software/libspectre|{{Pkg|libspectre}}}}
* {{App|[[Wikipedia:Ghostscript|Ghostscript]]|PostScript と PDF のためのインタープリタです。{{man|1|gs}} コマンドラインインターフェイスを提供します。([https://ghostscript.com/doc/current/Use.htm online]) を参照してください。また、''ps2pdf'' や ''pdf2ps'' などの多くのラッパースクリプトも含まれています。|{{Pkg|ghostscript}}}}
* {{App|[[Wikipedia:Ghostscript|Ghostscript]]|PostScript と PDF のためのインタープリタです。{{man|1|gs}} コマンドラインインターフェイスを提供します。([https://ghostscript.com/doc/current/Use.htm online]) を参照してください。また、''ps2pdf'' や ''pdf2ps'' などの多くのラッパースクリプトも含まれています。|https://ghostscript.com/|{{Pkg|ghostscript}}}}
* {{App|DjVuLibre|DjVu ドキュメントの作成、操作、表示を行うスイートです。|http://djvu.sourceforge.net/|{{Pkg|djvulibre}}}}
* {{App|DjVuLibre|DjVu ドキュメントの作成、操作、表示を行うスイートです。|http://djvu.sourceforge.net/|{{Pkg|djvulibre}}}}
* {{App|libgxps|XPS ドキュメントを処理し、レンダリングするための GObject ベースのライブラリです。|https://wiki.gnome.org/Projects/libgxps|{{Pkg|libgxps}}}}
* {{App|libgxps|XPS ドキュメントを処理し、レンダリングするための GObject ベースのライブラリです。|https://wiki.gnome.org/Projects/libgxps|{{Pkg|libgxps}}}}
28行目: 28行目:
{{Note|[[ウェブブラウザ]]の中には、[https://github.com/mozilla/pdf.js PDF.js]などでPDFファイルを表示できるものがあります。}}
{{Note|[[ウェブブラウザ]]の中には、[https://github.com/mozilla/pdf.js PDF.js]などでPDFファイルを表示できるものがあります。}}


* {{App|[[Wikipedia:Adobe Reader|Adobe Reader]]|Proprietary PDF file viewer offered by Adobe. Discontinued for Linux.|https://www.adobe.com/products/reader.html|{{AUR|acroread}}}}
* {{App|[[Wikipedia:Adobe Reader|Adobe Reader]]|Adobeが提供するプロプライエタリの PDF ファイルビューア。Linuxでは廃止されました。|https://www.adobe.com/products/reader.html|{{AUR|acroread}}}}
* {{App|apvlv|Lightweight document viewer with [[Vim]] keybindings. Supports PDF, DjVu, EPUB, HTML and TXT.|https://naihe2010.github.io/apvlv/|{{AUR|apvlv}}}}
* {{App|apvlv|Lightweight document viewer with [[Vim]] keybindings. Supports PDF, DjVu, EPUB, HTML and TXT.|https://naihe2010.github.io/apvlv/|{{AUR|apvlv}}}}
* {{App|Atril|Simple multi-page document viewer for MATE. Supports DjVu, DVI, EPS, EPUB, PDF, PostScript, TIFF, XPS and Comicbook.|https://github.com/mate-desktop/atril|{{Pkg|atril}}}}
* {{App|Atril|Simple multi-page document viewer for MATE. Supports DjVu, DVI, EPS, EPUB, PDF, PostScript, TIFF, XPS and Comicbook.|https://github.com/mate-desktop/atril|{{Pkg|atril}}}}
35行目: 35行目:
* {{App|DjView|Viewer for DjVu documents.|http://djvu.sourceforge.net/djview4.html|{{Pkg|djview}}}}
* {{App|DjView|Viewer for DjVu documents.|http://djvu.sourceforge.net/djview4.html|{{Pkg|djview}}}}
* {{App|ePDFView|Lightweight PDF document viewer using the Poppler and GTK libraries. Development stopped.|http://freecode.com/projects/epdfview|{{Pkg|epdfview}}}}
* {{App|ePDFView|Lightweight PDF document viewer using the Poppler and GTK libraries. Development stopped.|http://freecode.com/projects/epdfview|{{Pkg|epdfview}}}}
* {{App|[[Emacs]]|See also [https://github.com/politza/pdf-tools pdf-tools] for improved pdf support ({{AUR|emacs-pdf-tools-git}}) and the [https://elpa.gnu.org/packages/djvu.html djvu package] for djvu support.|https://www.gnu.org/software/emacs/|{{Pkg|emacs}}}}
* {{App|[[Emacs]]|改良された pdf サポートのための [https://github.com/politza/pdf-tools pdf-tools] ({{AUR|emacs-pdf-tools-git}}) と djvu サポートのための [https://elpa.gnu.org/packages/djvu.html djvu package] も参照してください。|https://www.gnu.org/software/emacs/|{{Pkg|emacs}}}}
* {{App|[[Evince]]|Document viewer for GNOME. Supports DjVu, DVI, EPS, PDF, PostScript, TIFF, XPS and Comicbook.|https://wiki.gnome.org/Apps/Evince|{{Pkg|evince}}}}
* {{App|[[Evince]]|GNOME 用ドキュメントビューア。DjVu、DVI、EPS、PDF、PostScript、TIFF、XPS、Comicbook をサポートします。|https://wiki.gnome.org/Apps/Evince|{{Pkg|evince}}}}
* {{App|[[Wikipedia:Foxit Reader|Foxit Reader]]|Small, fast (compared to Acrobat) proprietary PDF viewer. [https://forums.foxitsoftware.com/forum/portable-document-format-pdf-tools/foxit-reader/180532-linux-how-to-get-automatically-updates-for-foxit-reader-free-version?p=180540#post180540 Discontinued for Linux].|https://www.foxitsoftware.com/pdf-reader/|{{AUR|foxitreader}}}}
* {{App|[[Wikipedia:Foxit Reader|Foxit Reader]]|Small, fast (compared to Acrobat) proprietary PDF viewer. [https://forums.foxitsoftware.com/forum/portable-document-format-pdf-tools/foxit-reader/180532-linux-how-to-get-automatically-updates-for-foxit-reader-free-version?p=180540#post180540 Discontinued for Linux].|https://www.foxitsoftware.com/pdf-reader/|{{AUR|foxitreader}}}}
* {{App|gv|Graphical user interface for the Ghostscript interpreter that allows to view and navigate through PostScript and PDF documents.|https://www.gnu.org/software/gv/|{{Pkg|gv}}}}
* {{App|gv|Graphical user interface for the Ghostscript interpreter that allows to view and navigate through PostScript and PDF documents.|https://www.gnu.org/software/gv/|{{Pkg|gv}}}}
43行目: 43行目:
* {{App|[[Wikipedia:Okular|Okular]]|Universal document viewer for KDE. Supports CHM, Comicbook, DjVu, DVI, EPUB, FictionBook, Mobipocket, ODT, PDF, Plucker, PostScript, TIFF and XPS.|https://okular.kde.org/|{{Pkg|okular}}}}
* {{App|[[Wikipedia:Okular|Okular]]|Universal document viewer for KDE. Supports CHM, Comicbook, DjVu, DVI, EPUB, FictionBook, Mobipocket, ODT, PDF, Plucker, PostScript, TIFF and XPS.|https://okular.kde.org/|{{Pkg|okular}}}}
* {{App|pdfpc|Presenter console with multi-monitor support for PDF files.|https://pdfpc.github.io/|{{Pkg|pdfpc}}}}
* {{App|pdfpc|Presenter console with multi-monitor support for PDF files.|https://pdfpc.github.io/|{{Pkg|pdfpc}}}}
* {{App|qpdfview|Tabbed document viewer. It uses Poppler for PDF support, libspectre for PS support, DjVuLibre for DjVu support, CUPS for printing support and the Qt toolkit for its interface.|https://launchpad.net/qpdfview|{{Pkg|qpdfview}}}}
* {{App|qpdfview|タブ式ドキュメントビューアです。PDF サポートに Poppler、PS サポートに libspectre、DjVu サポートに DjVuLibre、印刷サポートに CUPS、インターフェースに Qt toolkit を使用しています。|https://launchpad.net/qpdfview|{{Pkg|qpdfview}}}}
* {{App|[[Wikipedia:Xpdf|Xpdf]]|Viewer that can decode LZW and read encrypted PDFs.|https://www.xpdfreader.com/|{{Pkg|xpdf}}}}
* {{App|[[Wikipedia:Xpdf|Xpdf]]|Viewer that can decode LZW and read encrypted PDFs.|https://www.xpdfreader.com/|{{Pkg|xpdf}}}}
* {{App|Xreader|Document viewer part of the X-Apps Project. Supports DjVu, DVI, EPUB, PDF, PostScript, TIFF, XPS, Comicbook.|https://github.com/linuxmint/xreader/|{{Pkg|xreader}}}}
* {{App|Xreader|Document viewer part of the X-Apps Project. Supports DjVu, DVI, EPUB, PDF, PostScript, TIFF, XPS, Comicbook.|https://github.com/linuxmint/xreader/|{{Pkg|xreader}}}}
* {{App|[[Zathura]]|Highly customizable and functional document viewer (plugin based). Supports PDF, DjVu, PostScript and Comicbook.|https://pwmt.org/projects/zathura/|{{Pkg|zathura}}}}
* {{App|[[Zathura]]|カスタマイズ性の高い高機能ドキュメントビューア(プラグインベース)。PDF、DjVu、PostScript、Comicbookをサポート。|https://pwmt.org/projects/zathura/|{{Pkg|zathura}}}}


==== 比較 ====
==== 比較 ====
111行目: 111行目:
==== PDF フォーム ====
==== PDF フォーム ====


上の表の''PDF フォーム''欄は[[Wikipedia:PDF#Forms|AcroForms]]のサポートを指しています。入力内容を PDF から直接取り出す必要がない場合は、[[#注釈]]や[[#グラフィカル PDF 編集]]のアプリケーションを使って、PDF の上にテキストを配置することもできます。PDF フォームは、[[LibreOffice|LibreOffice Writer]] (''View > Toolbars > Form Controls'') と[[#Advanced editors|advanced PDF editors]] で作成することが可能です。
上の表の''PDF フォーム''欄は[[Wikipedia:PDF#Forms|AcroForms]]のサポートを指しています。入力内容を PDF から直接取り出す必要がない場合は、[[#注釈]]や[[#グラフィカル PDF エディタ]]のアプリケーションを使って、PDF の上にテキストを配置することもできます。PDF フォームは、[[LibreOffice|LibreOffice Writer]] (''View > Toolbars > Form Controls'') と[[#Advanced editors|advanced PDF editors]] で作成することが可能です。


プロプライエタリで非推奨の [[Wikipedia:XFA|XFA]] 形式のフォームは、Poppler[https://gitlab.freedesktop.org/poppler/poppler/issues/199][https://gitlab.freedesktop.org/poppler/poppler/issues/530]では完全にサポートしておらず、[[#グラフィカル|Adobe Reader]] と [[#Advanced editors|Master PDF Editor]] でのみサポートされています。
プロプライエタリで非推奨の [[Wikipedia:XFA|XFA]] 形式のフォームは、Poppler[https://gitlab.freedesktop.org/poppler/poppler/issues/199][https://gitlab.freedesktop.org/poppler/poppler/issues/530]では完全にサポートしておらず、[[#グラフィカル|Adobe Reader]] と [[#Advanced editors|Master PDF Editor]] でのみサポートされています。
123行目: 123行目:
[[アプリケーション一覧/ドキュメント#手書きメモ]] を参照してください。
[[アプリケーション一覧/ドキュメント#手書きメモ]] を参照してください。


== グラフィカル PDF エディター ==
== グラフィカル PDF エディタ ==


* [[Scribus]] は PDF のインポートとエクスポートが可能で、テキストはポリゴンとしてインポートされます。[https://wiki.scribus.net/canvas/Importing_PDF_files_as_Vector_Graphics]
* [[Scribus]] は PDF のインポートとエクスポートが可能で、テキストはポリゴンとしてインポートされます。[https://wiki.scribus.net/canvas/Importing_PDF_files_as_Vector_Graphics]
142行目: 142行目:
* {{App|PDF Tricks|Ghostscript を使って PDF ファイルにちょっとした操作をするためのシンプルで効率的なアプリケーションです。|https://github.com/muriloventuroso/pdftricks|{{Pkg|pdftricks}}}}
* {{App|PDF Tricks|Ghostscript を使って PDF ファイルにちょっとした操作をするためのシンプルで効率的なアプリケーションです。|https://github.com/muriloventuroso/pdftricks|{{Pkg|pdftricks}}}}


=== Cropping tools ===
=== 切り取りツール ===


* {{App|briss|Java GUI to crop pages of PDF documents to one or more regions selected.|https://sourceforge.net/projects/briss/|{{AUR|briss}}}}
* {{App|briss|選択した 1 つ以上の領域に PDF ドキュメントのページを切り取るための Java GUI。|https://sourceforge.net/projects/briss/|{{AUR|briss}}}}
* {{App|krop|Simple graphical tool to crop the pages of PDF files.|https://arminstraub.com/software/krop|{{AUR|krop}}}}
* {{App|krop|PDF ファイルのページを切り取るためのシンプルなグラフィカル ツール。|https://arminstraub.com/software/krop|{{AUR|krop}}}}
* {{App|pdfCropMargins|Automatically crops the margins of PDF files.|https://github.com/abarker/pdfCropMargins|{{AUR|pdfcropmargins}}}}
* {{App|pdfCropMargins|PDF ファイルの余白を自動的に切り取ります。|https://github.com/abarker/pdfCropMargins|{{AUR|pdfcropmargins}}}}
* {{App|PdfHandoutCrop|Tool to crop pdf handout with multiple pages per sheet.|https://cges30901.github.io/pdfhandoutcrop/|{{AUR|pdfhandoutcrop}}}}
* {{App|PdfHandoutCrop|1 シートに複数のページがある PDF 配布資料を切り取りするツール。|https://cges30901.github.io/pdfhandoutcrop/|{{AUR|pdfhandoutcrop}}}}


=== Advanced editors ===
=== アドバンスドエディタ ===


* {{App|Master PDF Editor|機能的なプロプライエタリな PDF エディタ。最新版は非商用利用で無料。'-free' パッケージは古いものですが、透かしがないのが特徴です。
* {{App|Master PDF Editor|Functional proprietary PDF editor. Latest version free for non-commercial use. The ''-free'' package is outdated but lacks a watermark.|https://code-industry.net/free-pdf-editor/|{{AUR|masterpdfeditor}}, {{AUR|masterpdfeditor-free}}}}
|https://code-industry.net/free-pdf-editor/|{{AUR|masterpdfeditor}}, {{AUR|masterpdfeditor-free}}}}
* {{App|PDF Studio|All-in-one proprietary PDF editor similar to Adobe Acrobat.|https://www.qoppa.com/pdfstudio/|{{AUR|pdfstudio-bin}}}}
* {{App|PDF Studio|Adobe Acrobat に似たオールインワンのプロプライエタリな PDF エディタ。|https://www.qoppa.com/pdfstudio/|{{AUR|pdfstudio-bin}}}}


== PDF ツール ==
== PDF ツール ==


See also [[#Engines|Ghostscript]].
[[#エンジン|Ghostscript]]も参照してください。


* {{App|Coherent PDF|Command line tools to manipulate PDF files including merge, encrypt, decrypt, scale, crop, rotate, bookmarks, stamp, logos, page numbers.|https://community.coherentpdf.com/|{{AUR|cpdf}}}}
* {{App|Coherent PDF|コマンドラインツールは、マージ、暗号化、復号化、スケール、切り取り、回転、ブックマーク、スタンプ、ロゴ、ページ番号を含む PDF ファイルを操作する。|https://community.coherentpdf.com/|{{AUR|cpdf}}}}
* {{App|DiffPDF|Compare the text or the visual appearance of each page in two PDF files.|https://gitlab.com/eang/diffpdf|{{Pkg|diffpdf}}}}
* {{App|DiffPDF|2 つの PDF ファイルの各ページのテキストや見た目を比較することができます。|https://gitlab.com/eang/diffpdf|{{Pkg|diffpdf}}}}
* {{App|mupdf-tools|Tools developed as part of MuPDF, contains {{man|1|mutool}} and ''muraster''.|https://mupdf.com|{{Pkg|mupdf-tools}}}}
* {{App|mupdf-tools|MuPDF の一部として開発されたツールで、{{man|1|mutool}} と ''muraster'' が含まれています。|https://mupdf.com|{{Pkg|mupdf-tools}}}}
* {{App|pdfgrep|Commandline utility to search text in PDF files.|https://pdfgrep.org/|{{Pkg|pdfgrep}}}}
* {{App|pdfgrep|PDF ファイル内のテキストを検索するコマンドラインユーティリティ。|https://pdfgrep.org/|{{Pkg|pdfgrep}}}}
* {{App|pdfjam|Can be used to n-up, join, rotate and flip PDFs and arrange them into a format suitable for book binding.|https://github.com/DavidFirth/pdfjam|{{Pkg|texlive-core}}}}
* {{App|pdfjam|Can be used to n-up, join, rotate and flip PDFs and arrange them into a format suitable for book binding.|https://github.com/DavidFirth/pdfjam|{{Pkg|texlive-core}}}}
* {{App|pdf2svg|Convert PDF files to SVG files.|http://www.cityinthesky.co.uk/opensource/pdf2svg/|{{Pkg|pdf2svg}}}}
* {{App|pdf2svg|PDFファイルからSVGファイルへの変換を行います。|http://www.cityinthesky.co.uk/opensource/pdf2svg/|{{Pkg|pdf2svg}}}}
* {{App|[[Wikipedia:PDFtk|PDFtk]]|Simple tool for doing everyday things with PDF documents.|http://www.pdfhacks.com/pdftk|{{pkg|pdftk}}}}
* {{App|[[Wikipedia:PDFtk|PDFtk]]|PDF 文書で日常的なことを行うためのシンプルなツールです。|http://www.pdfhacks.com/pdftk|{{pkg|pdftk}}}}
* {{App|[[Wikipedia:QPDF|QPDF]]|Content-preserving PDF transformation system.|https://github.com/qpdf/qpdf|{{Pkg|qpdf}}}}
* {{App|[[Wikipedia:QPDF|QPDF]]|Content-preserving PDF transformation system.|https://github.com/qpdf/qpdf|{{Pkg|qpdf}}}}
* {{App|Stapler|Light alternative to PDFtk using the [[#Python|PyPDF2]] library.|https://github.com/hellerbarde/stapler|{{AUR|stapler}}, {{AUR|stapler-git}}}}
* {{App|Stapler|[[#Python|PyPDF2]] ライブラリを使用した、PDFtk の軽快な代替品です。|https://github.com/hellerbarde/stapler|{{AUR|stapler}}, {{AUR|stapler-git}}}}


=== Create a PDF from images ===
=== 画像から PDF を作成 ===


With [[GraphicsMagick]]:
[[GraphicsMagick]] を使用:


$ gm convert 1.jpg 2.jpg 3.jpg out.pdf
$ gm convert 1.jpg 2.jpg 3.jpg out.pdf


=== Concatenate PDFs ===
=== PDF の連結 ===


With Ghostscript:
Ghostscript の場合:


$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=out.pdf -dBATCH 1.pdf 2.pdf 3.pdf
$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=out.pdf -dBATCH 1.pdf 2.pdf 3.pdf


With PDFtk:
PDFtk を使用:


$ pdftk 1.pdf 2.pdf 3.pdf cat output out.pdf
$ pdftk 1.pdf 2.pdf 3.pdf cat 出力 out.pdf


With Poppler:
Poppler を使用:


$ pdfunite 1.pdf 2.pdf 3.pdf out.pdf
$ pdfunite 1.pdf 2.pdf 3.pdf out.pdf


With QPDF:
QPDF の場合:


$ qpdf --empty --pages 1.pdf 2.pdf 3.pdf -- out.pdf
$ qpdf --empty --pages 1.pdf 2.pdf 3.pdf -- out.pdf


=== Convert a PDF to text ===
=== PDFをテキストに変換 ===


Poppler を使用してレイアウトを維持する:
With Poppler and maintaining the layout:


$ pdftotext -layout in.pdf out.txt
$ pdftotext -レイアウト in.pdf out.txt


See also {{man|1|pdftotext}}.
{{man|1|pdftotext}} も参照してください。


=== Decrypt a PDF ===
=== PDF の復号化 ===


このセクションでは、PDF を暗号化されていないファイルに復号化するコマンドを示します。ほとんどの [[#ビューア|PDF ビューア]] は、暗号化された PDF もサポートしていることに注意してください。
This section lists commands to decrypt a PDF to an unencrypted file. Note that most [[#Viewers|PDF viewers]] also support encrypted PDFs.


With PDFtk:
PDFtk を使用:


$ pdftk in.pdf input_pw ''password'' output out.pdf
$ pdftk in.pdf input_pw ''password'' output out.pdf


With Poppler to PostScript:
Poppler から PostScript へ:


$ pdftops -upw ''password'' in.pdf out.ps
$ pdftops -upw ''password'' in.pdf out.ps


With QPDF:
QPDF の場合:


$ qpdf --decrypt --password=''password'' in.pdf out.pdf
$ qpdf --decrypt --password=''password'' in.pdf out.pdf


{{Tip|Forgotten passwords might be recovered with {{Pkg|pdfcrack}}, see {{man|1|pdfcrack}}.}}
{{Tip|パスワードを忘れた場合は、{{Pkg|pdfcrack}} で回復できる場合があります。{{man|1|pdfcrack}} を参照してください。}}


=== Encrypt a PDF ===
=== PDF を暗号化 ===


「ユーザーパスワード」は暗号化に使用され、「所有者パスワード」はドキュメントが復号化された後の操作を制限するために使用されます。詳細については、[[Wikipedia:PDF#Encryption and signatures]] を参照してください。
The ''user password'' is used for encryption, the ''owner password'' to restrict operations once the document is decrypted, for more information, see [[Wikipedia:PDF#Security and signatures]].


With PDFtk:
PDFtk を使用:


$ pdftk in.pdf output out.pdf user_pw ''password''
$ pdftk in.pdf output out.pdf user_pw ''password''


With [[#Libraries|PoDoFo]]:
[[#ライブラリ|PoDoFo]] を使用:


$ podofoencrypt -u ''user_password'' -o ''owner_password'' in.pdf out.pdf
$ podofoencrypt -u ''user_password'' -o ''owner_password'' in.pdf out.pdf


With QPDF:
QPDF を使用:


$ qpdf --encrypt ''user_password'' ''owner_password'' ''key_length'' -- in.pdf out.pdf
$ qpdf --encrypt ''user_password'' ''owner_password'' ''key_length'' -- in.pdf out.pdf


where {{ic|''key_length''}} can be 40, 128 or 256.
ここで、{{ic|''key_length''}} は 40、128、または 256 です。


=== Extract images from a PDF ===
=== PDF から画像を抽出 ===


With Poppler to JPEG:
Poppler から JPEG へ:


$ pdfimages ''infile''.pdf -j ''outfileroot''
$ pdfimages ''infile''.pdf -j ''outfileroot''


=== PDF からページ範囲を抽出し、複数ページの PDF ドキュメントを分割 ===
=== Extract page range from PDF, split multipage PDF document ===


With Ghostscript as a single file[https://forums.freebsd.org/threads/split-pdf-file.58902/#post-336971]
Ghostscript を 1 つのファイルに使用 [https://forums.freebsd.org/threads/split-pdf-file.58902/#post-336971]:


$ gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=''first'' -dLastPage=''last'' -sOutputFile=''outfile''.pdf ''infile''.pdf
$ gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=''first'' -dLastPage=''last'' -sOutputFile=''outfile''.pdf ''infile''.pdf


PDFtk を 1 つのファイルに使用:
With PDFtk as a single file:


$ pdftk ''infile''.pdf cat ''first''-''last'' output ''outfile''.pdf
$ pdftk ''infile''.pdf cat ''first''-''last'' output ''outfile''.pdf


With Poppler as separate files:
Poppler をファイル分割に使用:


$ pdfseparate -f ''first'' -l ''last'' ''infile''.pdf ''outfileroot''-%d.pdf
$ pdfseparate -f ''first'' -l ''last'' ''infile''.pdf ''outfileroot''-%d.pdf


QPDF を 1 つのファイルに使用:
With QPDF as a single file:


$ qpdf --empty --pages ''infile''.pdf ''first''-''last'' -- ''outfile''.pdf
$ qpdf --empty --pages ''infile''.pdf ''first''-''last'' -- ''outfile''.pdf


mutool を 1 つのファイルに使用:
With mutool as a single file:


$ mutool clean -g ''infile''.pdf ''outfile''.pdf ''first''-''last''
$ mutool clean -g ''infile''.pdf ''outfile''.pdf ''first''-''last''


=== Imposing a PDF ===
=== PDF の面付け(Imposition) ===


PDF [[Wikipedia:Imposition|Imposition]] can be done with [[#PDF tools|pdfjam]], for example paper waste can be reduced with ''pdfnup'' and ''pdfbook'' can be used to arrange PDFs into a format suitable for book binding.
PDF の[[Wikipedia:Imposition|面付け(Imposition)]]は [[#PDF ツール|pdfjam]]で行うことができます。例えば ''pdfnup'' で紙の無駄を省いたり、''pdfbook'' で PDF を製本に適した形式に整えたりすることができます。


=== Inspecting metadata ===
=== メタデータの検査 ===


With [[ExifTool]]:
[[ExifTool]] を使用:


$ exiftool file.pdf
$ exiftool file.pdf


With Poppler:
Poppler を使用:


$ pdfinfo file.pdf
$ pdfinfo file.pdf


=== PDFの最適化、サイズ縮小 ===
=== Optimize, reduce size of a PDF ===


Ghostscriptでは、以下のいずれかを行います。
With Ghostscript one of:


$ ps2pdf -dPDFSETTINGS=/screen in.pdf out.pdf
$ ps2pdf -dPDFSETTINGS=/screen in.pdf out.pdf
$ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -sOutputFile=out.pdf in.pdf
$ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printe -sOutputFile=out.pdf in.pdf


For different settings see the [https://www.ghostscript.com/doc/VectorDevices.htm#PSPDF_IN documentation].
その他の設定については、[https://www.ghostscript.com/doc/VectorDevices.htm#PSPDF_IN documentation]を参照してください。


There is also {{AUR|shrinkpdf}}, a script wrapping gs.
gs をラッピングするスクリプトである {{AUR|shrinkpdf}} もあります。


=== Rasterize a PDF ===
=== PDFをラスタライズする ===


With [[GraphicsMagick]] to convert a specific page:
[[GraphicsMagick]]を使って、特定のページを変換する。


$ gm convert -density ''dpi'' ''infile''.pdf[''page''] ''outfile''.jpg
$ gm convert -density ''dpi'' ''infile''.pdf[''page''] ''outfile''.jpg


Poppler で全ページを変換する。
With Poppler to convert all pages:


$ pdftoppm -jpeg -r ''dpi'' ''infile''.pdf ''outfileroot''
$ pdftoppm -jpeg -r ''dpi'' ''infile''.pdf ''outfileroot''


Poppler で特定のページを変換する場合。
With Poppler to convert a specific page:


$ pdftoppm -jpeg -r ''dpi'' -f ''page'' -singlefile ''infile''.pdf ''outfileroot''
$ pdftoppm -jpeg -r ''dpi'' -f ''page'' -singlefile ''infile''.pdf ''outfileroot''


=== Splitting PDF pages ===
=== PDFのページを分割する ===


mupdf-toolsで、各ページを縦に 2 分割することができます。
With mupdf-tools to split every page vertically into two pages:


$ mutool poster -y 2 in.pdf out.pdf
$ mutool poster -y 2 in.pdf out.pdf


単純な[[#PDF の面付け(Imposition)|面付け]]を元に戻すのに使えます。
Can be used to undo simple [[#Imposing a PDF|imposition]].


=== Add signature.png or image to one of the pages in the PDF ===
=== PDFのいずれかのページにsignature.pngや画像を追加する ===


To add an image to any location in PDF can be done with [[ImageMagick]] (convert), xv and pdftk. A wrapper script is [http://emmanuel.branlard.free.fr/work/linux/dev/SignPDF/SignPDF here] and other hints are [https://unix.stackexchange.com/questions/85873/how-can-i-add-a-signature-png-to-a-pdf-in-linux here].
PDF の任意の場所に画像を追加するには、[[ImageMagick]](convert), xv, pdftk が使用できます。ラッパースクリプトは[http://emmanuel.branlard.free.fr/work/linux/dev/SignPDF/SignPDF ここ]、その他のヒントは[https://unix.stackexchange.com/questions/85873/how-can-i-add-a-signature-png-to-a-pdf-in-linux ここ]です。


== DjVu ツール ==
== DjVu ツール ==


* [[#Engines|DjVuLibre]] provides many command-line tools, like {{man|1|ddjvu}} for example.
* [[#Engines|DjVuLibre]] は、例えば {{man|1|ddjvu}} のような多くのコマンドラインツールを提供します。
* {{App|img2djvu|Single-pass DjVu encoder based on DjVu Libre and ImageMagick.|https://github.com/ashipunov/img2djvu|{{AUR|img2djvu-git}}}}
* {{App|img2djvu|DjVu Libre と ImageMagick をベースにしたシングルパス DjVu エンコーダ。|https://github.com/ashipunov/img2djvu|{{AUR|img2djvu-git}}}}
* {{App|pdf2djvu|Creates DjVu files from PDF files.|https://jwilk.net/software/pdf2djvu|{{AUR|pdf2djvu}}}}
* {{App|pdf2djvu|PDF ファイルから DjVu ファイルを作成します。|https://jwilk.net/software/pdf2djvu|{{AUR|pdf2djvu}}}}


=== Convert DjVu to images ===
=== Convert DjVu to images ===
374行目: 375行目:
説明:
説明:


* {{ic|1=-sPAPERSIZE=something}} で、用紙サイズを定義します。有効な PAPERSIZE の値については、[https://ghostscript.com/doc/current/Use.htm#Known_paper_sizes] を参照してください。
* {{ic|1=-sPAPERSIZE=something}} — 用紙サイズを定義します。有効な PAPERSIZE の値については、[https://ghostscript.com/doc/current/Use.htm#Known_paper_sizes] を参照してください。
* {{ic|1=-dOptimize=true}} で、作成した PDF を読み込みに最適化させます。
* {{ic|1=-dOptimize=true}} — 作成した PDF を読み込みに最適化させます。
* {{ic|1=-dEmbedAllFonts=true}} は、フォントを常に美しく見せるようにします。
* {{ic|1=-dEmbedAllFonts=true}} — フォントを常に美しく見せるようにします。


{{Note|ps2pdf で用紙の向きを選択することはできません。入力された PS ファイルが健全なものであれば、すでに向きの情報が含まれています。Encapsulated PS ファイルを使おうとしている場合、指定した {{ic|1=-sPAPERSIZE}} に収まらない場合は問題が発生します。回避策として、ghostscript の設定で新しい用紙を作成し(例:slide)、それを{{ic|1=-sPAPERSIZE=slide}} として使用することができます。}}
{{Note|ps2pdf で用紙の向きを選択することはできません。入力された PS ファイルが健全なものであれば、すでに向きの情報が含まれています。Encapsulated PS ファイルを使おうとしている場合、指定した {{ic|1=-sPAPERSIZE}} に収まらない場合は問題が発生します。回避策として、ghostscript の設定で新しい用紙を作成し(例:slide)、それを{{ic|1=-sPAPERSIZE=slide}} として使用することができます。}}
382行目: 383行目:
== ライブラリ ==
== ライブラリ ==


* {{App|libharu|C library for generating PDF documents.|https://github.com/libharu/libharu|{{Pkg|libharu}}, Lua binding: {{AUR|lua-hpdf}}}}
* {{App|libharu|PDF 文書生成のためのCライブラリ。|https://github.com/libharu/libharu|{{Pkg|libharu}}, Lua binding: {{AUR|lua-hpdf}}}}
* {{App|PoDoFo|A C++ library to work with the PDF file format.|http://podofo.sourceforge.net|{{Pkg|podofo}}}}
* {{App|PoDoFo|PDF ファイル形式を扱うための C++ ライブラリ。|http://podofo.sourceforge.net|{{Pkg|podofo}}}}


=== Python ===
=== Python ===


* {{App|PDFMiner|Utils to extract, analyze text data of PDF files. Includes pdf2txt, dumppdf, and latin2ascii|https://www.unixuser.org/~euske/python/pdfminer/|{{Pkg|python-pdfminer}}, {{AUR|pdfminer}}}}
* {{App|PDFMiner|PDF ファイルのテキストデータを抽出、解析するユーティリティ。pdf2txt, dumppdf, latin2ascii が含まれる。|https://www.unixuser.org/~euske/python/pdfminer/|{{Pkg|python-pdfminer}}, {{AUR|pdfminer}}}}
* {{App|pdfrw|A pure Python library that reads and writes PDFs.|https://github.com/pmaupin/pdfrw|{{Pkg|python-pdfrw}}, {{AUR|python2-pdfrw}}}}
* {{App|pdfrw| PDFの読み書きを行うピュア Pythen ライブラリ。|https://github.com/pmaupin/pdfrw|{{Pkg|python-pdfrw}}, {{AUR|python2-pdfrw}}}}
* {{App|PyPDF2|A pure-Python library built as a PDF toolkit.|https://mstamy2.github.io/PyPDF2/|{{AUR|python-pypdf2}}, {{AUR|python2-pypdf2}}}}
* {{App|PyPDF2|PDF ツールキットとして構築されたピュア Pythonライブラリ。|https://mstamy2.github.io/PyPDF2/|{{AUR|python-pypdf2}}, {{AUR|python2-pypdf2}}}}
* {{App|PyX|Python library for the creation of PostScript and PDF files.|http://pyx.sourceforge.net|{{Pkg|python-pyx}}}}
* {{App|PyX|PostScript や PDF ファイルを作成するための Python ライブラリ。|http://pyx.sourceforge.net|{{Pkg|python-pyx}}}}
* {{App|ReportLab|A proven industry-strength PDF generating solution|https://www.reportlab.com/|{{Pkg|python-reportlab}}, {{AUR|python2-reportlab}}}}
* {{App|ReportLab|業界で実績のある PDF 生成ソリューション|https://www.reportlab.com/|{{Pkg|python-reportlab}}, {{AUR|python2-reportlab}}}}


== 参照 ==
== 参照 ==

2022年12月8日 (木) 11:55時点における最新版

この記事は、PDF, PostScript (PS), DjVu ('déjà vu'), XPS ファイルを閲覧、編集、変換するソフトウェアを扱います。

エンジン

  • Poppler — Xpdf をベースにした PDF 描画ライブラリ。Poppler で CJK(中国語、日本語、韓国語)に対応するには、poppler-data をインストールします。
https://poppler.freedesktop.org/ || poppler
  • Mupdf — MuPDF は、ソフトウェアライブラリ、コマンドラインツール、ビューアから構成される、軽量のPDF、XPS、EPUBビューアです。
https://mupdf.com/ || libmupdf
  • libspectre — PostScript 文書を描画するための小さなライブラリ。
https://www.freedesktop.org/wiki/Software/libspectre || libspectre
  • Ghostscript — PostScript と PDF のためのインタープリタです。gs(1) コマンドラインインターフェイスを提供します。(online) を参照してください。また、ps2pdf や pdf2ps などの多くのラッパースクリプトも含まれています。
https://ghostscript.com/ || ghostscript
  • DjVuLibre — DjVu ドキュメントの作成、操作、表示を行うスイートです。
http://djvu.sourceforge.net/ || djvulibre
  • libgxps — XPS ドキュメントを処理し、レンダリングするための GObject ベースのライブラリです。
https://wiki.gnome.org/Projects/libgxps || libgxps

ビューア

フレームバッファ

  • fbgs — linux フレームバッファ・コンソール用のプアマンズ PostScript/pdf ビューアです。
https://www.kraxel.org/blog/linux/fbida/ || fbida
  • fbpdf — MuPDF ベースの小さなフレームバッファ PDF および DjVu ビューア,Vim キーバインド付きで C で書かれています。
https://repo.or.cz/w/fbpdf.git || fbpdf-gitAUR
  • jfbview — フレームバッファ型 PDF・画像ビューア。Vim ライクなコントロール、zoom-to-fit、TOC(アウトライン)ビュー、高速なマルチスレッドレンダリングなどの機能があります。
https://github.com/jichu4n/jfbview || jfbviewAUR

グラフィカル

ノート ウェブブラウザの中には、PDF.jsなどでPDFファイルを表示できるものがあります。
  • Adobe Reader — Adobeが提供するプロプライエタリの PDF ファイルビューア。Linuxでは廃止されました。
https://www.adobe.com/products/reader.html || acroreadAUR
  • apvlv — Lightweight document viewer with Vim keybindings. Supports PDF, DjVu, EPUB, HTML and TXT.
https://naihe2010.github.io/apvlv/ || apvlvAUR
  • Atril — Simple multi-page document viewer for MATE. Supports DjVu, DVI, EPS, EPUB, PDF, PostScript, TIFF, XPS and Comicbook.
https://github.com/mate-desktop/atril || atril
  • CorePDF — Simple lightweight PDF viewer based on Qt and poppler. Part of C-Suite.
https://cubocore.org/ || corepdfAUR
  • Deepin Document Viewer — A simple PDF and DjVu reader, supporting bookmarks, highlights and annotations.
https://github.com/linuxdeepin/deepin-reader || deepin-reader
  • DjView — Viewer for DjVu documents.
http://djvu.sourceforge.net/djview4.html || djview
  • ePDFView — Lightweight PDF document viewer using the Poppler and GTK libraries. Development stopped.
http://freecode.com/projects/epdfview || epdfview
https://www.gnu.org/software/emacs/ || emacs
  • Evince — GNOME 用ドキュメントビューア。DjVu、DVI、EPS、PDF、PostScript、TIFF、XPS、Comicbook をサポートします。
https://wiki.gnome.org/Apps/Evince || evince
https://www.foxitsoftware.com/pdf-reader/ || foxitreaderAUR
  • gv — Graphical user interface for the Ghostscript interpreter that allows to view and navigate through PostScript and PDF documents.
https://www.gnu.org/software/gv/ || gv
  • llpp — Very fast PDF reader based off of MuPDF, that supports continuous page scrolling, bookmarking, and text search through the whole document.
https://repo.or.cz/w/llpp.git || llpp
  • MuPDF — Very fast EPUB, FictionBook, PDF, XPS and Comicbook viewer written in portable C. Features CJK font support.
https://mupdf.com/ || mupdf
  • Okular — Universal document viewer for KDE. Supports CHM, Comicbook, DjVu, DVI, EPUB, FictionBook, Mobipocket, ODT, PDF, Plucker, PostScript, TIFF and XPS.
https://okular.kde.org/ || okular
  • pdfpc — Presenter console with multi-monitor support for PDF files.
https://pdfpc.github.io/ || pdfpc
  • qpdfview — タブ式ドキュメントビューアです。PDF サポートに Poppler、PS サポートに libspectre、DjVu サポートに DjVuLibre、印刷サポートに CUPS、インターフェースに Qt toolkit を使用しています。
https://launchpad.net/qpdfview || qpdfview
  • Xpdf — Viewer that can decode LZW and read encrypted PDFs.
https://www.xpdfreader.com/ || xpdf
  • Xreader — Document viewer part of the X-Apps Project. Supports DjVu, DVI, EPUB, PDF, PostScript, TIFF, XPS, Comicbook.
https://github.com/linuxmint/xreader/ || xreader
  • Zathura — カスタマイズ性の高い高機能ドキュメントビューア(プラグインベース)。PDF、DjVu、PostScript、Comicbookをサポート。
https://pwmt.org/projects/zathura/ || zathura

比較

この記事またはセクションの正確性には問題があります。
理由: Filling out PDF forms seem to be broken in MuPDF and llpp. (議論: トーク:PDF、PS および DjVu#)

ライブラリの横にあるアスタリスクは、指定された機能に対してオプションの依存関係をインストールする必要があることを示しています。

Name PDF PostScript DjVu XPS PDF フォーム PDF Annotation License
Adobe Reader Custom – – – Yes – proprietary
apvlv Poppler – DjVuLibre – No – GPLv2
Atril Poppler libspectre DjVuLibre libgxps Yes – GPLv2
DjView – – DjVuLibre – – – GPLv2
Emacs Ghostscript* DjVuLibre* – No Yes GPLv3
ePDFView Poppler – – – No – GPLv2
Evince Poppler libspectre DjVuLibre libgxps Yes Yes GPLv2
Foxit Reader Custom – – – Yes Yes proprietary
gv Ghostscript – – No – GPLv3
llpp libmupdf – – libmupdf Yes – GPLv3
MuPDF Custom – – Custom Yes Yes AGPLv3
Okular Poppler libspectre DjVuLibre Custom Yes Yes GPL, LGPL
pdfpc Poppler – – – No – GPLv2
qpdfview Poppler libspectre* DjVuLibre* – Yes Yes GPLv2
Xpdf Custom – – – No – GPLv3
Xreader Poppler libspectre* DjVuLibre* libgxps* Yes Yes GPLv2
Zathura Poppler* / libmupdf* libspectre* DjVuLibre* libmupdf* No – zlib

PDF フォーム

上の表のPDF フォーム欄はAcroFormsのサポートを指しています。入力内容を PDF から直接取り出す必要がない場合は、#注釈や#グラフィカル PDF エディタのアプリケーションを使って、PDF の上にテキストを配置することもできます。PDF フォームは、LibreOffice Writer (View > Toolbars > Form Controls) とadvanced PDF editors で作成することが可能です。

プロプライエタリで非推奨の XFA 形式のフォームは、Poppler[1][2]では完全にサポートしておらず、Adobe Reader と Master PDF Editor でのみサポートされています。

また、FirefoxやChromiumなどのWebブラウザは、フォームに入力できるPDFビューアを内蔵しています。

注釈

  • flpsed — PostScript と PDF のアノテーターで、テキストボックスのみサポートします。
https://flpsed.org/flpsed.html || flpsedAUR

アプリケーション一覧/ドキュメント#手書きメモ を参照してください。

グラフィカル PDF エディタ

  • Scribus は PDF のインポートとエクスポートが可能で、テキストはポリゴンとしてインポートされます。[3]
  • LibreOffice Draw では、PDF の取り込みと書き出しが可能です。テキストはテキストとして取り込み、埋め込みフォントは置換されます。[4][5]
  • Inkscape は PDF から 1 ページを取り込み、PDF にエクスポートすることができます。テキストはクローングリフまたはテキストとして取り込まれ、後者では埋め込みフォントが代用されます。
  • GIMP や krita などのグラフィックエディタも、ラスタ化を犠牲にして PDF をインポート/エクスポートすることが可能です。

ベーシックエディタ

  • jPDF Tweak — Java Swing アプリケーションで、PDF ファイルの結合、分割、回転、並べ替え、透かし、暗号化、署名、その他微調整ができます。
http://jpdftweak.sourceforge.net/ || jpdftweakAUR
  • PDF Arranger — PDF 文書の結合や分割、ページの回転、切り取り、並べ替えを支援します。PDF-Shuffler のフォークとしてメンテナンスされています。
https://github.com/jeromerobert/pdfarranger || pdfarranger
  • PDF Chain — C++ で書かれた PDFtk 用の GTK フロントエンドで、連結、バースト、透かし、ファイルの添付などをサポートしています。
http://pdfchain.sourceforge.net/ || pdfchainAUR
  • PdfJumbler — PDF ファイルのページを並べ替え、結合、削除、回転させるシンプルなツールです。
https://github.com/mgropp/pdfjumbler || pdfjumblerAUR
  • PDF Mix Tool — C++ で書かれた PoDoFo 用の Qt フロントエンドで、PDF ファイルの分割、結合、回転、混合をサポートします。
https://scarpetta.eu/pdfmixtool/ || pdfmixtool
  • PDF Mod — ページの並べ替え、回転、削除、文書からの画像のエクスポート、タイトル、件名、著者、キーワードの編集、ドラッグ&ドロップによる文書の結合が可能です。
https://wiki.gnome.org/Attic/PdfMod || pdfmod
  • PDFsam — Java で書かれたオープンソースのアプリケーションで、結合、分割、回転をサポートしています。
https://pdfsam.org/ || pdfsamAUR
  • PDF Slicer — PDF 文書の抽出、結合、回転、ページの並べ替えを行うシンプルなアプリケーションです。
https://junrrein.github.io/pdfslicer/ || pdfslicer
  • PDF Tricks — Ghostscript を使って PDF ファイルにちょっとした操作をするためのシンプルで効率的なアプリケーションです。
https://github.com/muriloventuroso/pdftricks || pdftricks

切り取りツール

  • briss — 選択した 1 つ以上の領域に PDF ドキュメントのページを切り取るための Java GUI。
https://sourceforge.net/projects/briss/ || brissAUR
  • krop — PDF ファイルのページを切り取るためのシンプルなグラフィカル ツール。
https://arminstraub.com/software/krop || kropAUR
  • pdfCropMargins — PDF ファイルの余白を自動的に切り取ります。
https://github.com/abarker/pdfCropMargins || pdfcropmarginsAUR
  • PdfHandoutCrop — 1 シートに複数のページがある PDF 配布資料を切り取りするツール。
https://cges30901.github.io/pdfhandoutcrop/ || pdfhandoutcropAUR

アドバンスドエディタ

  • Master PDF Editor — 機能的なプロプライエタリな PDF エディタ。最新版は非商用利用で無料。'-free' パッケージは古いものですが、透かしがないのが特徴です。
https://code-industry.net/free-pdf-editor/ || masterpdfeditorAUR, masterpdfeditor-freeAUR
  • PDF Studio — Adobe Acrobat に似たオールインワンのプロプライエタリな PDF エディタ。
https://www.qoppa.com/pdfstudio/ || pdfstudio-binAUR

PDF ツール

Ghostscriptも参照してください。

  • Coherent PDF — コマンドラインツールは、マージ、暗号化、復号化、スケール、切り取り、回転、ブックマーク、スタンプ、ロゴ、ページ番号を含む PDF ファイルを操作する。
https://community.coherentpdf.com/ || cpdfAUR
  • DiffPDF — 2 つの PDF ファイルの各ページのテキストや見た目を比較することができます。
https://gitlab.com/eang/diffpdf || diffpdf
  • mupdf-tools — MuPDF の一部として開発されたツールで、mutool(1) と muraster が含まれています。
https://mupdf.com || mupdf-tools
  • pdfgrep — PDF ファイル内のテキストを検索するコマンドラインユーティリティ。
https://pdfgrep.org/ || pdfgrep
  • pdfjam — Can be used to n-up, join, rotate and flip PDFs and arrange them into a format suitable for book binding.
https://github.com/DavidFirth/pdfjam || texlive-core
  • pdf2svg — PDFファイルからSVGファイルへの変換を行います。
http://www.cityinthesky.co.uk/opensource/pdf2svg/ || pdf2svg
  • PDFtk — PDF 文書で日常的なことを行うためのシンプルなツールです。
http://www.pdfhacks.com/pdftk || pdftk
  • QPDF — Content-preserving PDF transformation system.
https://github.com/qpdf/qpdf || qpdf
  • Stapler — PyPDF2 ライブラリを使用した、PDFtk の軽快な代替品です。
https://github.com/hellerbarde/stapler || staplerAUR, stapler-gitAUR

画像から PDF を作成

GraphicsMagick を使用:

$ gm convert 1.jpg 2.jpg 3.jpg out.pdf

PDF の連結

Ghostscript の場合:

$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=out.pdf -dBATCH 1.pdf 2.pdf 3.pdf

PDFtk を使用:

$ pdftk 1.pdf 2.pdf 3.pdf cat 出力 out.pdf

Poppler を使用:

$ pdfunite 1.pdf 2.pdf 3.pdf out.pdf

QPDF の場合:

$ qpdf --empty --pages 1.pdf 2.pdf 3.pdf -- out.pdf

PDFをテキストに変換

Poppler を使用してレイアウトを維持する:

$ pdftotext -レイアウト in.pdf out.txt

pdftotext(1) も参照してください。

PDF の復号化

このセクションでは、PDF を暗号化されていないファイルに復号化するコマンドを示します。ほとんどの PDF ビューア は、暗号化された PDF もサポートしていることに注意してください。

PDFtk を使用:

$ pdftk in.pdf input_pw password output out.pdf

Poppler から PostScript へ:

$ pdftops -upw password in.pdf out.ps

QPDF の場合:

$ qpdf --decrypt --password=password in.pdf out.pdf
ヒント パスワードを忘れた場合は、pdfcrack で回復できる場合があります。pdfcrack(1) を参照してください。

PDF を暗号化

「ユーザーパスワード」は暗号化に使用され、「所有者パスワード」はドキュメントが復号化された後の操作を制限するために使用されます。詳細については、Wikipedia:PDF#Encryption and signatures を参照してください。

PDFtk を使用:

$ pdftk in.pdf output out.pdf user_pw password

PoDoFo を使用:

$ podofoencrypt -u user_password -o owner_password in.pdf out.pdf

QPDF を使用:

$ qpdf --encrypt user_password owner_password key_length -- in.pdf out.pdf

ここで、key_length は 40、128、または 256 です。

PDF から画像を抽出

Poppler から JPEG へ:

$ pdfimages infile.pdf -j outfileroot

PDF からページ範囲を抽出し、複数ページの PDF ドキュメントを分割

Ghostscript を 1 つのファイルに使用 [6]:

$ gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=first -dLastPage=last -sOutputFile=outfile.pdf infile.pdf

PDFtk を 1 つのファイルに使用:

$ pdftk infile.pdf cat first-last output outfile.pdf

Poppler をファイル分割に使用:

$ pdfseparate -f first -l last infile.pdf outfileroot-%d.pdf

QPDF を 1 つのファイルに使用:

$ qpdf --empty --pages infile.pdf first-last -- outfile.pdf

mutool を 1 つのファイルに使用:

$ mutool clean -g infile.pdf outfile.pdf first-last

PDF の面付け(Imposition)

PDF の面付け(Imposition)は pdfjamで行うことができます。例えば pdfnup で紙の無駄を省いたり、pdfbook で PDF を製本に適した形式に整えたりすることができます。

メタデータの検査

ExifTool を使用:

$ exiftool file.pdf

Poppler を使用:

$ pdfinfo file.pdf

PDFの最適化、サイズ縮小

Ghostscriptでは、以下のいずれかを行います。

$ ps2pdf -dPDFSETTINGS=/screen in.pdf out.pdf
$ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printe -sOutputFile=out.pdf in.pdf

その他の設定については、documentationを参照してください。

gs をラッピングするスクリプトである shrinkpdfAUR もあります。

PDFをラスタライズする

GraphicsMagickを使って、特定のページを変換する。

$ gm convert -density dpi infile.pdf[page] outfile.jpg

Poppler で全ページを変換する。

$ pdftoppm -jpeg -r dpi infile.pdf outfileroot

Poppler で特定のページを変換する場合。

$ pdftoppm -jpeg -r dpi -f page -singlefile infile.pdf outfileroot

PDFのページを分割する

mupdf-toolsで、各ページを縦に 2 分割することができます。

$ mutool poster -y 2 in.pdf out.pdf

単純な面付けを元に戻すのに使えます。

PDFのいずれかのページにsignature.pngや画像を追加する

PDF の任意の場所に画像を追加するには、ImageMagick(convert), xv, pdftk が使用できます。ラッパースクリプトはここ、その他のヒントはここです。

DjVu ツール

  • DjVuLibre は、例えば ddjvu(1) のような多くのコマンドラインツールを提供します。
  • img2djvu — DjVu Libre と ImageMagick をベースにしたシングルパス DjVu エンコーダ。
https://github.com/ashipunov/img2djvu || img2djvu-gitAUR
  • pdf2djvu — PDF ファイルから DjVu ファイルを作成します。
https://jwilk.net/software/pdf2djvu || pdf2djvuAUR

Convert DjVu to images

Break Djvu into separate pages:

$ djvmcvt -i input.djvu /path/to/out/dir output-index.djvu

Convert Djvu pages into images:

$ ddjvu --format=tiff page.djvu page.tiff

Convert Djvu pages into PDF:

$ ddjvu --format=pdf inputfile.djvu ouputfile.pdf

You can also use --page to export specific pages:

$ ddjvu --format=tiff --page=1-10 input.djvu output.tiff

this will convert pages from 1 to 10 into one tiff file.

Processing images

You can use scantailor-advanced to:

  • fix orientation
  • split pages
  • deskew
  • crop
  • adjust margins

Make DjVu from images

There is a useful script img2djvu-gitAUR.

$ img2djvu -c1 -d600 -v1 ./out

it will create 600 DPI out.djvu from all files in ./out directory.

Alternatively, you can try didjvuAUR, which seems to create smaller files especially on images with well defined background.

PostScript ツール

  • pstotext — PostScript ファイルをテキストに変換します。
https://www.cs.wisc.edu/~ghost/doc/pstotext.htm || pstotext

ps2pdf

ps2pdf は、PostScript を PDF に変換するための ghostscript のラッパーです。

$ ps2pdf -sPAPERSIZE=a4 -dOptimize=true -dEmbedAllFonts=true YourPSFile.ps

説明:

  • -sPAPERSIZE=something — 用紙サイズを定義します。有効な PAPERSIZE の値については、[7] を参照してください。
  • -dOptimize=true — 作成した PDF を読み込みに最適化させます。
  • -dEmbedAllFonts=true — フォントを常に美しく見せるようにします。
ノート ps2pdf で用紙の向きを選択することはできません。入力された PS ファイルが健全なものであれば、すでに向きの情報が含まれています。Encapsulated PS ファイルを使おうとしている場合、指定した -sPAPERSIZE に収まらない場合は問題が発生します。回避策として、ghostscript の設定で新しい用紙を作成し(例:slide)、それを-sPAPERSIZE=slide として使用することができます。

ライブラリ

  • libharu — PDF 文書生成のためのCライブラリ。
https://github.com/libharu/libharu || libharu, Lua binding: lua-hpdfAUR
  • PoDoFo — PDF ファイル形式を扱うための C++ ライブラリ。
http://podofo.sourceforge.net || podofo

Python

  • PDFMiner — PDF ファイルのテキストデータを抽出、解析するユーティリティ。pdf2txt, dumppdf, latin2ascii が含まれる。
https://www.unixuser.org/~euske/python/pdfminer/ || python-pdfminer, pdfminerAUR
  • pdfrw — PDFの読み書きを行うピュア Pythen ライブラリ。
https://github.com/pmaupin/pdfrw || python-pdfrw, python2-pdfrwAUR
  • PyPDF2 — PDF ツールキットとして構築されたピュア Pythonライブラリ。
https://mstamy2.github.io/PyPDF2/ || python-pypdf2AUR, python2-pypdf2AUR
  • PyX — PostScript や PDF ファイルを作成するための Python ライブラリ。
http://pyx.sourceforge.net || python-pyx
  • ReportLab — 業界で実績のある PDF 生成ソリューション
https://www.reportlab.com/ || python-reportlab, python2-reportlabAUR

参照