web-dev-qa-db-ja.com

複数のPDFファイルをマージする方法は?

WindowsにはPDFファイルをマージする多くのソフトウェアがありますが、Ubuntuでも同じことができますか?

339

PDF-ShufflerInstall PDF-Shuffler

シンプルなGUIを備えたツールが必要な場合は、pdfshufflerを試してください。これにより、PDFのマージ、およびページの再配置と削除が可能になります。バッチ処理や複雑なタスクの場合、pdftkはもちろんより強力です。

Screenshot of PDF-Shuffler

207
Marcel Stimberg

pdftkInstall pdftk

2つのpdfファイル、file1.pdfおよびfile2.pdfをマージするには:

pdftk file1.pdf file2.pdf cat output mergedfile.pdf

利用可能な詳細情報 こちらウェイバックマシン

326
Rojan

Ghostscriptは、PostScriptおよびPDFファイルを他の形式で表示または印刷できるパッケージ(Ubuntuでデフォルトで利用可能)です。または、それらのファイルを他の形式に変換します。
Ghostscriptを使用してPDFファイルを結合するには、次のように入力します。

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf  file1.pdf file2.pdf

コマンドの簡単な説明を次に示します。

gs         starts the Ghostscript program.
-dBATCH    once Ghostscript processes the PDF files, it should exit.
           If you don't include this option, Ghostscript will just keep running.
-dNOPAUSE  forces Ghostscript to process each page without pausing for user interaction.
-q         stops Ghostscript from displaying messages while it works
-sDEVICE=pdfwrite 
           tells Ghostscript to use its built-in PDF writer to process the files.
-sOutputFile=finished.pdf
           tells Ghostscript to save the combined PDF file with the specified name.
-dAutoRotatePages=/None
           Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm: For instance: -dAutoRotatePages=/None or /All or /PageByPage.

入力ファイルはPDFファイルである必要さえありません。 PostScriptファイルまたはEPSファイル、または3つの任意の組み合わせを使用することもできます。

Ghostscriptでできることはたくさんあります。詳細については、その documentation を参照してください。

ソース

155
ignite

また、pdfuniteを使用してpdfドキュメントをマージします。

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
80
BЈовић

PDFチェーンInstall PDF Chain

非常に素晴らしいソリューションはPDFChainです。 GUIはPDFTKのフロントエンドであり、PDFファイルにマージ、分割、または背景を追加することもできます。

34
Vincenzo

PDFModを試してみてください。これはGNOMEプロジェクトのものです。

https://wiki.gnome.org/Apps/PdfMod

11
Detnuomnu

別のアプローチは、この投稿で説明されているように、ラテックスを使用することです(ルートアクセスなしpdflatexがインストールされていると仮定):- https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output-by-latex

これは、前述のツールもルート権限も持っていないが、pdflatexを持っている場合に便利です。

以下のtexコードをコピーして、file1.pdffile2.pdfをマージします。 output.texという名前のファイルを作成し、以下を配置します。

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}

コンパイルするには、単にpdflatex output.texを使用します

マージされたファイルには、output.pdfという名前が付けられます。

7
emre

Pdfseparateを使用して、大きなpdfファイルから特定のページを抽出します。

pdfseparate -f  156 -l 157 input.pdf  output_%d.pdf 
pdfseparate -f  1   -l 2   input.pdf  output_%d.pdf 

そしてその後、私はすべてコマンドでそれらに参加します:

pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date  +%Y-%m-%d_%H_%M_%S ).pdf

これが参加します:

output_1.pdf output_2.pdf output_156.pdf output_157.pdf  

に:

out2014-12-14_23_25_36.pdf

対処する簡単な方法があるかもしれません... :-)

6
xerostomus

jPDFTweakpdfsam または pdfjam を使用することもできます。

(つまり、pdftkを使用します。)

5
frabjous

Pdfsamを使用します http://www.pdfsam.org/ PDFの分割とマージに非常に適しています

5
R.Sathish Kumar

pdftk を使用して、一般的なPDFドキュメントをマージおよび変更できます。または、まさにそれを行うオンラインサービスがあります。 http://www.pdfmerge.com/

4
joschi

私のアプローチは次のとおりです。

  • 簡単にアクセスできるようにしたいので、Nautilusで右クリックショートカットを作成しました( https://help.ubuntu.com/community/NautilusScriptsHowto を参照)
  • 私はそれを非常に速くしたかったので、pdfuniteを使用しました
  • pdfuniteはコマンドの途中でのみファイルパスを受け入れます。そのため、ファイルパス内のスペースを管理するために頭を悩ませる必要がありました。したがって、すべてのファイルパスは「/ home /」で始まり、「。pdf」で終わると仮定しました

結果は次のとおりです。

#!/bin/sh
CLEANED_FILE_PATHS=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed 's,.pdf /home/,.pdf\\n/home/,g')
echo $CLEANED_FILE_PATHS | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" merged.pdf'

Justeでこのスクリプトを貼り付けます

/home/your_username/.local/share/nautilus/scripts

「merge_pdfs.sh」(たとえば)という名前を付けます。次に、実行可能にします(merge_pdfs.shを右クリック->権限タブ->「プログラムとしてのファイルの実行を許可」にチェックマークを付けます)

PDFファイルをマージするには、それらを選択する必要があります->右クリック->スクリプト-> merge_pdfs.sh。同じディレクトリに「merged.pdf」ファイルが作成されます。

それが役に立てば幸い!

1
max