1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pythonを使ってPDF文書を結合する

Last updated at Posted at 2023-09-08

大量のPDF文書を処理することは非常に手間のかかる作業です。頻繁にファイルを開いたり閉じたりすることは効率に悪影響を及ぼします。そのため、関連する多数のPDFファイルを処理する際には、これらのPDFファイルを結合して、より大きなが数が少ないPDFファイルを作成し、処理効率を向上させることができます。例えば、大量のPDF文書を送信する場合や、同じプロジェクトの複数のPDF文書を処理する場合、または一連のPDF文書を印刷する場合には、文書を結合することで作業量を減らすことができます。本文では、Pythonを使用してPDFファイルを結合する方法について説明します。Spire.PDF for Pythonを使用する必要があります。

Spire.PDF for Pythonの導入

PDF文書を操作するためには、このツールをプロジェクトに導入する必要があります。Spire.Doc for Python公式ウェブサイトからダウンロードするか、直接pipでインストールすることができます。以下のコードを使用します:

pip install Spire.Doc

MergeFilesメソッドを使用してPDFファイルを直接結合する

MergeFiles(List[str]) メソッドは、ファイルパスのリストに対応するすべてのPDFファイルをリストの順序に従って1つのPDFファイルに結合します。操作の例を以下に示します:

  • フォルダ内を走査し、PDFファイルのパスのリストを作成します。
  • PdfDocument.MergeFiles() メソッドを使用して、リストに対応するPDFファイルを結合し、PdfDocumentBaseオブジェクトを取得します。
  • PdfDocumentBase.Save() メソッドを使用して結合結果を保存します。

Python

from spire.pdf.common import *
from spire.pdf import *
import os

# フォルダのパスを指定します
folder_path = "G:/文書/"

# フォルダ内のファイルを走査し、PDFファイルのパスのリストを作成します
pdf_files = []
for file_name in sorted(os.listdir(folder_path)):
    if file_name.endswith(".pdf"):
        file_path = os.path.join(folder_path, file_name)
        pdf_files.append(file_path)

# PDF文書を結合します
pdf = PdfDocument.MergeFiles(pdf_files)

# 結果文書を保存します
pdf.Save("output/PDFの結合.pdf", FileFormat.PDF)
pdf.Close()

ページの挿入によるPDF文書の結合

Spire.PDF for Pythonの AppendPage(PdfDocument) メソッドを使用すると、1つのPDFファイルに別のPDFファイルのすべてのページを挿入することができます。以下はこの方法でPDFファイルを結合する操作の例です:

  • フォルダ内のPDFファイルをPdfDocumentオブジェクトとしてロードし、リストを作成します。
  • 新しいPdfDocumentオブジェクトを作成します。
  • PdfDocument.AppendPage(PdfDocument) メソッドを使用してロードしたPDFファイルのページを新しいPDFファイルに挿入します。
  • PdfDocument.SaveToFile() メソッドを使用して新しいPDFファイルを保存します。

Python

from spire.pdf.common import *
from spire.pdf import *

# フォルダ内のファイルを走査し、各PDFファイルをロードしてリストを作成します
folder_path = "G:/文書/"
pdf_files = []
for file_name in sorted(os.listdir(folder_path)):
    if file_name.endswith(".pdf"):
        file_path = os.path.join(folder_path, file_name)
        pdf_files.append(PdfDocument(file_path))

# 新しいPdfDocumentオブジェクトを作成します
newPdf = PdfDocument()

# ロードしたPDFドキュメントのページを新しいPDFドキュメントに挿入します
for pdf in pdf_files:
    newPdf.AppendPage(pdf)

# 新しいPDFドキュメントを保存します
newPdf.SaveToFile("output/ページを挿入してPDFを結合.pdf")
newPdf.Close()

異なるPDFファイルの特定のページを結合する

InsertPage(PdfDocument, pageIndex: int) メソッドを使用すると、1つのPDFファイルの特定のページを別のPDFファイルに挿入することができます。この方法を使用して異なるPDFファイルの特定のページを結合することができます。以下は操作の例です:

  • PDFファイルのパスのリストを作成します。
  • PDFファイルをPdfDocumentオブジェクトとしてロードし、リストを作成します。
  • 新しいPdfDocumentオブジェクトを作成します。
  • PdfDocument.InsertPage() メソッドを使用して、指定したPDFファイルの指定したページを新しいPDFファイルに挿入します。
  • PdfDocument.SaveToFile() メソッドを使用して新しいPDFファイルを保存します。

Python

from spire.pdf import *
from spire.pdf.common import *

# PDFファイルのパスのリストを作成します
file1 = "例1.pdf"
file2 = "例2.pdf"
file3 = "例3.pdf"
files = [file1, file2, file3]

# 各PDFファイルをロードし、リストに追加します
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("output/異なるPDFの指定されたページを結合.pdf")
newPdf.Close()

以上がSpire.PDF for Pythonを使用してPDFファイルを結合する方法の説明です。このAPIの機能についてさらに詳しく知りたい場合は、Spire.PDF for Pythonのチュートリアルを参照するか、Spire.PDFのフォーラムでフィードバックやディスカッションに参加してください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?