1. 背景
場合によっては、PDF ページを PNG または JPEG 形式などの画像に変換する必要があります。
Python のオープンソース ライブラリ pdfplumber は、PDF ファイルを画像に変換する方法を提供します。
これまでに pdfplumber ライブラリをインストールして使用したことがない場合は、pdfplumber のインストールと基本的な使用方法について以前の記事を参照してください: pdfplumber のインストール
、インポート、および基本的な使用方法
2. pdfplumberを使ってpdfファイルを画像に変換する方法を詳しく解説
pdfplumber によって提供されるメソッド:
.to_image(resolution=150)、結果は PageImage クラスのインスタンスを返します。
パラメータ:resolution={integer}、解像度を設定、省略可能、デフォルトの解像度:72。
利用方法は以下の通りで、以下のコードスニペット内のパスを変換したいpdfファイルのパスに変更するだけです。
import pdfplumber
# 需要转换为图片的pdf文件路径
file_path = r'E:\pytest\pdfp\test\test.pdf'
with pdfplumber.open(file_path) as pdf:
# pdf.pages默认为pdf全部页
# 可通过切片的方式选择需要转换的1页或几页,如前2页:pdf.pages[:2]
for i, page in enumerate(pdf.pages[:2]):
im = page.to_image(resolution=150)
# 保存
im.save(r'E:\pytest\pdfp\test\page-{}.png'.format(i + 1))
print('----分割线,第%d页----' % (int(i) + 1))
上記のコードは、test.pdf の最初の 2 ページを画像に変換します。実行結果は次のとおりです。
方法 | 意味 |
---|---|
im.reset() | 描画した内容をすべてクリアしてリセットします。 |
im.copy() | 画像を新しい「PageImage」インスタンスにコピーします。 |
im.save() | 構文: im.save(path_or_fileobject, format=""); path_or_fileobject パラメーター: 画像を保存するファイル パスとファイル名を渡します。これらは省略できず、パス + ファイル名 + .png または .jpeg で終わる必要があります。formatパラメータ:画像フォーマット、省略可能。 |
3. よくある問題と解決策
上記のコードを直接実行し、pdfplumber の to_image() メソッドを使用して PDF ファイルを画像に変換すると、エラーが発生することがあります。主に 2 つのエラー状況があります。
(1) ImageMagick がローカルにインストールされていない
主要なエラー メッセージ: ImageMagick ライブラリがインストールされていない可能性があります。
つまり、エラーの理由は次のとおりです。ImageMagick がローカルにインストールされていません。ImageMagick は、画像を作成、編集、合成するための無料ソフトウェアです。
解決策: エラー メッセージ内のリンクを直接クリックし、ImageMagick インストール パッケージをダウンロードしてインストールします。
この記事でダウンロードするバージョン/インストール パッケージ ファイルは次のとおりです: ImageMagick-7.1.1-15-Q16-HDRI-x64-dll.exe
ImageMagick 簡単インストール チュートリアル
ダウンロードした ImageMagick インストール ファイルをダブルクリックし、プロンプトに従って [次へ] をクリックしますをクリックして直接インストールします。
必要に応じて、インストール プロセス中にデフォルトのインストール パスや構成項目を変更することもできます。面倒な場合は、プロンプトに従って [次へ] に進み、インストールしてください。デフォルトのインストールで十分です (デスクトップ ショートカットの作成とシステムの構成がすでに含まれています)。環境変数 - この点は非常に重要です)。
キーのインストール プロセスの一部は次のとおりです。
ImageMagick のインストールが完了すると、エラーの問題は解決されます。
(2) gswin64c.exeが見つからない問題
主要なエラー メッセージ: FailedToExecuteCommand "gswin64c.exe"。
エラーの理由: ImageMagick をインストールするときに、gswin64c.exe がインストールされませんでした。
解決策: 置き換える gs.exe ファイルを見つけます。
詳細な手順は次のとおりです。
ステップ 1: 関連ファイルをダウンロードします。
ダウンロード リンクについては、https:
//mirrors.tuna.tsinghua.edu.cn/gnu/octave/windows/を参照してください
。この記事のダウンロード バージョンは
octave-8.2.0-w64.zip です。(上記のミラー リンク Web ページから直接ダウンロードすることをお勧めします。この方が高速ですが、ファイルは大きくなり、ネットワーク ディスクやその他のリソースのダウンロードは非常に遅くなります。) この記事でインストールされている ImageMagick のバージョンに対応するのは、次のとおりです
。ステップ 2 :
octave-8.2.0 -w64.zip ファイルを解凍し、
\octave-8.2.0-w64\mingw64\bin パスにある[gs.exe] という名前のファイルの名前を
[gswin64c.exe] に変更します。
ステップ 3: 環境変数を構成します。
コンピューターを開き、[設定]-[システム]-[バージョン情報]-[システムの詳細設定]-右端の[環境変数]を開き、システム変数で[パス]変数を見つけて、[編集]-[新規]をクリックします。 \octave を変更します。 -8.2.0-w64\mingw64\bin のフル パス (この記事の例: E:\soft\ImageMagick\octave-8.2.0-w64\mingw64\bin) を追加し、最後に [確認] をクリックします。
上記の 3 つの手順を完了すると、エラーの問題は解決されます。それでも同じエラーが報告される場合は、Python 環境を再起動します (たとえば、PyCharm を閉じて再度開きます)。
4. まとめ
pdfplumber を使用して pdf を画像に変換する方法は非常に簡単で、コードも複雑ではありません。
さらに厄介なのは、ローカル環境に特定の要件があり、インストールと構成が必要なことです。
-終わり-