はじめに
PDFの結合とは、複数のPDFファイルを1つのPDFファイルにまとめることです。これにより、ユーザーは関連するPDFファイルの内容を1つのPDFファイルに結合して、ファイルの分類化、管理、および共有を簡素にできます。例えば、文書を共有する前に、似たような文書を1つのファイルにまとめて、共有プロセスをシンプルにすることができます。本記事では、Pythonを使ってPDFファイルを結合する方法を説明します。
ツール
- Python 3.12.0
- Spire.PDF for Python
このライブラリは購入する必要がありますが、30 日間の無料試用版も提供されています。
もっと多いサンプルコードについて、Spire.PDF for Pythonをダウンロードして参照してください。
インストール
まず、Spire.PDF for Pythonと plum-dispatch v1.7.4を VS Code にインポートしください。
- Pythonをダウンロードしてインストールします。
- VS Codeで「Extensions」をクリックし、「Python」を検索してインストールします。
- 「Explorer」-「NO FOLRDER OPENED」-「Open Folder」
- フォルダーを選択し、そこに「.py」ファイルを追加します。
- 「Terminal」-「New Terminal」
- 次のコマンドを入力します。
pip install Spire.PDF
複数のPDFファイルを結合する
ステップ
- 必要なライブラリ モジュールをインポートします。
- PDFファイルのパスを含むリストを作成します。
- Document.MergeFiles(inputFiles: List[str])メソッドを使用して、これらのPDFを1つのファイルに結合します。
- PdfDocumentBase.Save(filename: str, FileFormat.PDF)メソッドを呼び出して、結合されたファイルを PDF 形式で指定された出力パスに保存します。
コード
from spire.pdf.common import *
from spire.pdf import *
# PDFファイルのパスのリストを作成する
inputFile1 = "C:/Users/Administrator/Desktop/Sample-1.pdf"
inputFile2 = "C:/Users/Administrator/Desktop/Sample-2.pdf"
inputFile3 = "C:/Users/Administrator/Desktop/Sample-3.pdf"
files = [inputFile1, inputFile2, inputFile3]
# PDFファイルを結合する
pdf = PdfDocument.MergeFiles(files)
# 結果ファイルを保存する
pdf.Save("C:/Users/Administrator/Desktop/MergePDFFiles.pdf", FileFormat.PDF)
pdf.Close()
PDFファイルの選択したページを結合する
ステップ
- 必要なライブラリ モジュールをインポートします。
- PDFファイルのパスを含むリストを作成します。
- リスト内の各ファイルをループし、PdfDocument オブジェクトとしてロードします。 次に、それらを新しいリストに追加します。
- ターゲットファイルとして新しいPdfDocumentオブジェクトを作成します。
- PdfDocument.InsertPage(PdfDocument, pageIndex: int)メソッドまたは PdfDocument.InsertPageRange(PdfDocument, startIndex: int, endIndex: int)メソッドを使用して、ロードされたファイルから選択したページを新しい PdfDocument オブジェクトに挿入します。
- 最後に、PdfDocument.SaveToFile()メソッドを呼び出して、新しい PdfDocument オブジェクトを指定された出力パスに保存します。
コード
from spire.pdf import *
from spire.pdf.common import *
# PDF ファイルのパスのリストを作成する
file1 = "C:/Users/Administrator/Desktop/Sample-1.pdf"
file2 = "C:/Users/Administrator/Desktop/Sample-2.pdf"
file3 = "C:/Users/Administrator/Desktop/Sample-3.pdf"
files = [file1, file2, file3]
# 各PDFファイルを PdfDocument オブジェクトとしてロードし、リストに追加する
pdfs = []
for file in files:
pdfs.append(PdfDocument(file))
# PdfDocumentクラスのオブジェクトを作成する
newPdf = PdfDocument()
# ロードされたPDFから選択したページを新しいドキュメントに挿入する
newPdf.InsertPage(pdfs[0], 0)
newPdf.InsertPage(pdfs[1], 1)
newPdf.InsertPageRange(pdfs[2], 0, 1)
# 新しいPDFドキュメントを保存する
newPdf.SaveToFile("C:/Users/Administrator/Desktop/MergeSelectedPages.pdf")