PDF Pythonツール 画像(JPG,PNG,TIFFなど)

PythonでPDFをJPGに変換する方法

概要

この記事では、PythonとPyMuPDFライブラリを使用して、PDFファイルをJPG形式に効率的に変換する方法を紹介します。外部ライブラリへの依存を避けつつ、高品質な画像への変換を行うためのステップバイステップガイドを提供します。

使用例

このスクリプトは、ビジネス資料、学術文献、または個人的な文書など、任意のPDFファイルを画像データに変換したい場合に非常に便利です。デジタルアーカイブの作成、ウェブ公開用の画像変換、プレゼンテーションの資料作成など、様々なシーンで活用可能です。

必要なPythonライブラリとインストール方法

このプロジェクトにはPyMuPDF(fitz)ライブラリが必要です。次のコマンドを使用してインストールしてください:

pip install pymupdf

使用手順

  1. 必要なライブラリをインストールします。
  2. 提供されたPythonスクリプトをコピーして、任意のファイル名で保存します(例:convert_pdf_to_jpg.py)。
  3. スクリプトを実行し、PDFが格納されたフォルダとJPGを保存するフォルダを選択します。
  4. 必要に応じて画像の解像度を設定し、変換を開始します。

注意点

  • このスクリプトは、Python 3.6以上での実行を推奨します。
  • 全てのPDFが同様の結果を保証するわけではないため、特に画像が多いPDFや複雑なレイアウトのPDFでは出力結果を確認してください。

プログラム

下記のコードをメモ帳などに丸々コピーしてpythonファイル(例:convert_pdf_to_jpg.py)にしてください。

import tkinter as tk
from tkinter import filedialog, simpledialog
import os
import fitz # PyMuPDF

def select_folder(title):
root = tk.Tk()
root.withdraw()
folder_selected = filedialog.askdirectory(title=title)
root.destroy()
return folder_selected

def convert_pdf_to_jpg(pdf_path, output_folder, resolution):
doc = fitz.open(pdf_path)
for i, page in enumerate(doc):
pix = page.get_pixmap(dpi=resolution)
img_path = os.path.join(output_folder, f"{os.path.splitext(os.path.basename(pdf_path))[0]}-page{str(i+1).zfill(4)}.jpg")
pix.save(img_path)
print(f"Saved: {img_path}")

def main():
input_folder = select_folder("PDFファイルが含まれるフォルダを選択してください")
output_folder = select_folder("画像の保存先フォルダを選択してください")
resolution = simpledialog.askinteger("解像度設定", "JPGの解像度をppiで入力してください", minvalue=1, maxvalue=1200)

for filename in os.listdir(input_folder):
if filename.lower().endswith('.pdf'):
pdf_path = os.path.join(input_folder, filename)
convert_pdf_to_jpg(pdf_path, output_folder, resolution)

if __name__ == "__main__":
main()

あるいは、下のテキストファイルをダウンロードし、「.txt」を「.py」に変えることでそのまま使えます。

まとめ

このPythonスクリプトを用いることで、PDFを簡単かつ迅速にJPGに変換することができます。PyMuPDFを使用することで高品質な画像出力が可能となり、多くのプロジェクトや作業に役立ちます。技術的なスキルを活かして、効率的な文書管理を実現しましょう。

-PDF, Pythonツール, 画像(JPG,PNG,TIFFなど)