「PDF、PS および DjVu」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→PDF フォーム: 飜訳) |
Kusanaginoturugi (トーク | 投稿記録) (→PDF フォーム: 不要箇所を削除) |
||
113行目: | 113行目: | ||
上の表の''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]] と [[# |
+ | プロプライエタリで非推奨の [[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]] でのみサポートされています。 |
また、[[Firefox]]や[[Chromium]]などのWebブラウザは、フォームに入力できるPDFビューアを内蔵しています。 |
また、[[Firefox]]や[[Chromium]]などのWebブラウザは、フォームに入力できるPDFビューアを内蔵しています。 |
||
− | |||
− | The proprietary and deprecated [[Wikipedia:XFA|XFA]] format for forms is not fully supported by Poppler[https://gitlab.freedesktop.org/poppler/poppler/issues/199][https://gitlab.freedesktop.org/poppler/poppler/issues/530] and only supported by [[#Graphical|Adobe Reader]] and [[#Advanced editors|Master PDF Editor]]. |
||
− | |||
− | Alternatively, web browsers such as [[Firefox]] or [[Chromium]] feature a built-in PDF viewer capable of filling out forms. |
||
== 注釈 == |
== 注釈 == |
2022年11月17日 (木) 10:54時点における版
この記事は、PDF, PostScript (PS), DjVu ('déjà vu'), XPS ファイルを閲覧、編集、変換するソフトウェアを扱います。
目次
- 1 エンジン
- 2 ビューア
- 3 注釈
- 4 グラフィカル PDF 編集
- 5 PDF ツール
- 5.1 Create a PDF from images
- 5.2 Concatenate PDFs
- 5.3 Convert a PDF to text
- 5.4 Decrypt a PDF
- 5.5 Encrypt a PDF
- 5.6 Extract images from a PDF
- 5.7 Extract page range from PDF, split multipage PDF document
- 5.8 Imposing a PDF
- 5.9 Inspecting metadata
- 5.10 Optimize, reduce size of a PDF
- 5.11 Rasterize a PDF
- 5.12 Splitting PDF pages
- 5.13 Add signature.png or image to one of the pages in the PDF
- 6 DjVu ツール
- 7 PostScript ツール
- 8 ライブラリ
- 9 参照
エンジン
- Poppler — PDF rendering library based on Xpdf. For CJK (Chinese, Japanese, Korean) support with Poppler, インストール poppler-data.
- Mupdf — MuPDF is a lightweight PDF, XPS, and EPUB viewer, consisting of a software library, command line tools, and viewers.
- libspectre — Small library for rendering Postscript documents.
- Ghostscript — Interpreter for PostScript and PDF. Provides the gs(1) command-line interface, see also
/usr/share/doc/ghostscript/*/Use.htm
(online), along with many wrapper scripts like ps2pdf and pdf2ps.
- DjVuLibre — Suite to create, manipulate and view DjVu documents.
- libgxps — GObject based library for handling and rendering XPS documents.
ビューア
フレームバッファ
- fbgs — Poor man's PostScript/pdf viewer for the linux framebuffer console.
- fbpdf — Small framebuffer PDF and DjVu viewer based on MuPDF, with Vim keybindings and written in C
- jfbview — Framebuffer PDF and image viewer. Features include Vim-like controls, zoom-to-fit, a TOC (outline) view and fast multi-threaded rendering.
グラフィカル
- Adobe Reader — Proprietary PDF file viewer offered by Adobe. Discontinued for Linux.
- apvlv — Lightweight document viewer with Vim keybindings. Supports PDF, DjVu, EPUB, HTML and TXT.
- Atril — Simple multi-page document viewer for MATE. Supports DjVu, DVI, EPS, EPUB, PDF, PostScript, TIFF, XPS and Comicbook.
- 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.
- DjView — Viewer for DjVu documents.
- ePDFView — Lightweight PDF document viewer using the Poppler and GTK libraries. Development stopped.
- Emacs — See also pdf-tools for improved pdf support (emacs-pdf-tools-gitAUR) and the djvu package for djvu support.
- Evince — Document viewer for GNOME. Supports DjVu, DVI, EPS, PDF, PostScript, TIFF, XPS and Comicbook.
- Foxit Reader — Small, fast (compared to Acrobat) proprietary PDF viewer. Discontinued for Linux.
- gv — Graphical user interface for the Ghostscript interpreter that allows to view and navigate through PostScript and PDF documents.
- llpp — Very fast PDF reader based off of MuPDF, that supports continuous page scrolling, bookmarking, and text search through the whole document.
- MuPDF — Very fast EPUB, FictionBook, PDF, XPS and Comicbook viewer written in portable C. Features CJK font support.
- Okular — Universal document viewer for KDE. Supports CHM, Comicbook, DjVu, DVI, EPUB, FictionBook, Mobipocket, ODT, PDF, Plucker, PostScript, TIFF and XPS.
- pdfpc — Presenter console with multi-monitor support for PDF files.
- 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.
- Xpdf — Viewer that can decode LZW and read encrypted PDFs.
- Xreader — Document viewer part of the X-Apps Project. Supports DjVu, DVI, EPUB, PDF, PostScript, TIFF, XPS, Comicbook.
- Zathura — Highly customizable and functional document viewer (plugin based). Supports PDF, DjVu, PostScript and Comicbook.
比較
ライブラリの横にあるアスタリスクは、指定された機能に対してオプションの依存関係をインストールする必要があることを示しています。
Name | 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 — A PostScript and PDF annotator, only supports text boxes.
See also アプリケーション一覧/ドキュメント#手書きメモ.
グラフィカル PDF 編集
- Scribus can import and export PDF; text is imported as polygons.[3]
- LibreOffice Draw can import and export PDF; text is imported as text; embedded fonts are substituted.[4][5]
- Inkscape can import a single page from a PDF and export to PDF; text is imported as cloned glyphs or text; with the latter embedded fonts are substituted.
- Graphics editors like GIMP and krita can also import and export PDFs at the cost of rasterization.
Basic editors
- jPDF Tweak — Java Swing application that can combine, split, rotate, reorder, watermark, encrypt, sign, and otherwise tweak PDF files.
- PDF Arranger — Helps merge or split pdf documents and rotate, crop and rearrange pages. It is a maintained fork of PDF-Shuffler.
- PDF Chain — GTK front-end for PDFtk, written in C++, supporting concatenation, burst, watermarks, attaching files and more.
- PdfJumbler — Simple tool to rearrange, merge, delete and rotate pages in PDF files.
- PDF Mix Tool — Qt front-end for PoDoFo, written in C++, supports splitting, merging, rotating and mixing PDF files.
- PDF Mod — Reorder, rotate, and remove pages, export images from a document, edit the title, subject, author, and keywords, and combine documents via drag and drop.
- PDFsam — Open source application, written in Java, supports merging, splitting and rotating.
- https://pdfsam.org/ || pdfsamAUR
- PDF Slicer — Simple application to extract, merge, rotate and reorder pages of PDF documents.
- PDF Tricks — Simple, efficient application for small manipulations in PDF files using Ghostscript.
Cropping tools
- briss — Java GUI to crop pages of PDF documents to one or more regions selected.
- krop — Simple graphical tool to crop the pages of PDF files.
- pdfCropMargins — Automatically crops the margins of PDF files.
- PdfHandoutCrop — Tool to crop pdf handout with multiple pages per sheet.
Advanced editors
- Master PDF Editor — Functional proprietary PDF editor. Latest version free for non-commercial use. The -free package is outdated but lacks a watermark.
- PDF Studio — All-in-one proprietary PDF editor similar to Adobe Acrobat.
PDF ツール
See also Ghostscript.
- Coherent PDF — Command line tools to manipulate PDF files including merge, encrypt, decrypt, scale, crop, rotate, bookmarks, stamp, logos, page numbers.
- DiffPDF — Compare the text or the visual appearance of each page in two PDF files.
- mupdf-tools — Tools developed as part of MuPDF, contains mutool(1) and muraster.
- pdfgrep — Commandline utility to search text in PDF files.
- pdfjam — Can be used to n-up, join, rotate and flip PDFs and arrange them into a format suitable for book binding.
- pdf2svg — Convert PDF files to SVG files.
- PDFtk — Simple tool for doing everyday things with PDF documents.
- QPDF — Content-preserving PDF transformation system.
- Stapler — Light alternative to PDFtk using the PyPDF2 library.
Create a PDF from images
With GraphicsMagick:
$ gm convert 1.jpg 2.jpg 3.jpg out.pdf
Concatenate PDFs
With Ghostscript:
$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=out.pdf -dBATCH 1.pdf 2.pdf 3.pdf
With PDFtk:
$ pdftk 1.pdf 2.pdf 3.pdf cat output out.pdf
With Poppler:
$ pdfunite 1.pdf 2.pdf 3.pdf out.pdf
With QPDF:
$ qpdf --empty --pages 1.pdf 2.pdf 3.pdf -- out.pdf
Convert a PDF to text
With Poppler and maintaining the layout:
$ pdftotext -layout in.pdf out.txt
See also pdftotext(1).
Decrypt a PDF
This section lists commands to decrypt a PDF to an unencrypted file. Note that most PDF viewers also support encrypted PDFs.
With PDFtk:
$ pdftk in.pdf input_pw password output out.pdf
With Poppler to PostScript:
$ pdftops -upw password in.pdf out.ps
With QPDF:
$ qpdf --decrypt --password=password in.pdf out.pdf
Encrypt a PDF
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 in.pdf output out.pdf user_pw password
With PoDoFo:
$ podofoencrypt -u user_password -o owner_password in.pdf out.pdf
With QPDF:
$ qpdf --encrypt user_password owner_password key_length -- in.pdf out.pdf
where key_length
can be 40, 128 or 256.
Extract images from a PDF
With Poppler to JPEG:
$ pdfimages infile.pdf -j outfileroot
Extract page range from PDF, split multipage PDF document
With Ghostscript as a single file[6]
$ gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=first -dLastPage=last -sOutputFile=outfile.pdf infile.pdf
With PDFtk as a single file:
$ pdftk infile.pdf cat first-last output outfile.pdf
With Poppler as separate files:
$ pdfseparate -f first -l last infile.pdf outfileroot-%d.pdf
With QPDF as a single file:
$ qpdf --empty --pages infile.pdf first-last -- outfile.pdf
With mutool as a single file:
$ mutool clean -g infile.pdf outfile.pdf first-last
Imposing a PDF
PDF Imposition can be done with 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.
Inspecting metadata
With ExifTool:
$ exiftool file.pdf
With Poppler:
$ pdfinfo file.pdf
Optimize, reduce size of a PDF
With Ghostscript one of:
$ ps2pdf -dPDFSETTINGS=/screen in.pdf out.pdf $ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -sOutputFile=out.pdf in.pdf
For different settings see the documentation.
There is also shrinkpdfAUR, a script wrapping gs.
Rasterize a PDF
With GraphicsMagick to convert a specific page:
$ gm convert -density dpi infile.pdf[page] outfile.jpg
With Poppler to convert all pages:
$ pdftoppm -jpeg -r dpi infile.pdf outfileroot
With Poppler to convert a specific page:
$ pdftoppm -jpeg -r dpi -f page -singlefile infile.pdf outfileroot
Splitting PDF pages
With mupdf-tools to split every page vertically into two pages:
$ mutool poster -y 2 in.pdf out.pdf
Can be used to undo simple imposition.
Add signature.png or image to one of the pages in the PDF
To add an image to any location in PDF can be done with ImageMagick (convert), xv and pdftk. A wrapper script is here and other hints are here.
DjVu ツール
- DjVuLibre provides many command-line tools, like ddjvu(1) for example.
- img2djvu — Single-pass DjVu encoder based on DjVu Libre and ImageMagick.
- pdf2djvu — Creates DjVu files from PDF files.
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 — Converts PostScript files to text.
ps2pdf
ps2pdf is a wrapper around ghostscript to convert PostScript to PDF:
$ ps2pdf -sPAPERSIZE=a4 -dOptimize=true -dEmbedAllFonts=true YourPSFile.ps
Explanation:
- with
-sPAPERSIZE=something
you define the paper size. For valid PAPERSIZE values, see [7]. -dOptimize=true
lets the created PDF be optimised for loading.-dEmbedAllFonts=true
makes the fonts look always nice.
ライブラリ
- libharu — C library for generating PDF documents.
- https://github.com/libharu/libharu || libharu, Lua binding: lua-hpdfAUR
- PoDoFo — A C++ library to work with the PDF file format.
Python
- PDFMiner — Utils to extract, analyze text data of PDF files. Includes pdf2txt, dumppdf, and latin2ascii
- pdfrw — A pure Python library that reads and writes PDFs.
- PyPDF2 — A pure-Python library built as a PDF toolkit.
- PyX — Python library for the creation of PostScript and PDF files.
- ReportLab — A proven industry-strength PDF generating solution