ホームページ >バックエンド開発 >Python チュートリアル >Pythonを使用してPDFドキュメントの操作方法

Pythonを使用してPDFドキュメントの操作方法

Joseph Gordon-Levitt
Joseph Gordon-Levittオリジナル
2025-03-02 09:54:11509ブラウズ

How to Work With PDF Documents Using Python

PDFファイルは、クロスプラットフォームの互換性に人気があり、コンテンツとレイアウトがオペレーティングシステム、読み取りデバイス、ソフトウェア間で一貫しています。ただし、Python Plansing Plain Text Filesとは異なり、PDFファイルは、より複雑な構造を持つバイナリファイルであり、フォント、色、画像などの要素を含んでいます。

幸いなことに、Pythonの外部モジュールでPDFファイルを処理することは難しくありません。この記事では、PYPDF2モジュールを使用して、PDFファイルを開き、ページを印刷し、テキストを抽出する方法を示します。 PDFファイルの作成と編集については、私からの別のチュートリアルを参照してください。

準備

コアは、外部モジュールPYPDF2を使用することにあります。まず、PIP:

を使用してインストールします

PIPは、Pythonパッケージをインストールおよび管理するPython用のパッケージ管理システムであり、Pythonパッケージインデックス(PYPI)には多くのパッケージがあります。

python.orgからpythonをダウンロードした場合、PIPは自動的にインストールされる可能性があります。 端末に次のコマンドを入力して、pypdf2をインストールします。

pip install PyPDF2
pypdf2のすべての機能(暗号化、復号化、画像処理を含む)を使用するには、次のコマンドを使用できます。

AES暗号化/復号化関数のみが必要な場合は、次のことを使用できます。
pip install PyPDF2[full]

pypdf2は、デフォルトでRC4暗号化をサポートします。

pip install PyPDF2[crypto]

pypdf2 basics

PYPDF2は、PDFファイルの読み取り、書き込み、セグメンテーション、マージをサポートする無料のオープンソースライブラリです。このチュートリアルでは、PYPDF2バージョン2.11.1を使用しています。

PDFファイルを読む

Project GutenbergのBeauty and the Beast PDFバージョンをサンプルファイルとして使用します。ファイルをダウンロードするか、他のPDFファイルを使用できます。

次のコードは、PDFファイルを開いて読み上げる方法を示しています:

最初の行はPYPDF2モジュールをインポートします。

クラスは、PDFファイルの読み取りに使用され、そのページを
import PyPDF2

with open('beauty-and-the-beast.pdf', 'rb') as book:
    book_reader = PyPDF2.PdfReader(book)
オブジェクトとして表します。

PdfReaderページ数を取得します:Page

ページ番号への直接アクセス
import PyPDF2

with open('beauty-and-the-beast.pdf', 'rb') as book:
    book_reader = PyPDF2.PdfReader(book)
    number_of_pages = len(book_reader.pages)
    print(number_of_pages)  # 输出:48

ページ番号を取得するためのメソッド:

get_page_number()

ページモードとページレイアウト
import random
from PyPDF2 import PdfReader

with open('beauty-and-the-beast.pdf', 'rb') as book:
    book_reader = PdfReader(book)
    page_list = book_reader.pages
    last_page = page_list[-1]
    print(book_reader.get_page_number(last_page))  # 输出:47 (实际为第48页)
    some_page = page_list[random.randint(15, 35)]
    print(book_reader.get_page_number(some_page))  # 输出:随机页码

および

プロパティは、それぞれページモードとページレイアウト情報を返します:

page_mode page_layout

プロパティ著者、タイトル、作成時間、ジェネレーターなどのPDFファイルのメタデータを返します。
from PyPDF2 import PdfReader

with open('beauty-and-the-beast.pdf', 'rb') as book:
    book_reader = PdfReader(book)
    print(book_reader.page_mode)  # 输出:None
    print(book_reader.page_layout)  # 输出:None

metadata概要

from PyPDF2 import PdfReader

with open('beauty-and-the-beast.pdf', 'rb') as book:
    book_reader = PdfReader(book)
    book_metadata = book_reader.metadata
    print(book_metadata.title)       # 输出:Beauty and the Beast
    print(book_metadata.author)      # 输出:Anonymous
    print(book_metadata.creation_date) # 输出:例如 2006-11-30 01:13:00-08:00
    print(book_metadata.producer)    # 输出:例如 pdfeTeX-1.21a

Pythonは、PYPDF2モジュールを介したPDFファイルの処理を簡素化します。この記事では、PYPDF2の関数の一部を紹介します。公式のPYPDF2ドキュメントを参照してください。

以上がPythonを使用してPDFドキュメントの操作方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:DjangoのJWT認証次の記事:DjangoのJWT認証