Pythonは画像やPDFの処理にも使えます。 写真のリサイズ、形式変換、PDFの結合、テキスト抽出、帳票作成など、業務で役立つ場面が多い分野です。
画像処理に使うライブラリ
画像を扱う代表的なライブラリにはPillow と OpenCV があります。
初心者はまずPillowから始めると分かりやすいです。
python -m pip install pillow
画像を開いてサイズを確認する
from PIL import Image
img = Image.open("sample.jpg")
print(img.size)
print(img.mode)
size は幅と高さ、mode はRGBなどの色形式です。
画像をリサイズする
from PIL import Image
img = Image.open("sample.jpg")
resized = img.resize((800, 600))
resized.save("resized.jpg", quality=85)
写真アップロード機能やサムネイル作成でよく使います。
フォルダ内の画像をまとめて処理する
from pathlib import Path
from PIL import Image
input_dir = Path("images")
output_dir = Path("resized")
output_dir.mkdir(exist_ok=True)
for path in input_dir.glob("*.jpg"):
img = Image.open(path)
img.thumbnail((800, 800))
img.save(output_dir / path.name, quality=85)
複数画像の一括処理はPythonが得意な作業です。
PDF処理に使うライブラリ
PDFを扱う場合は、用途によってライブラリを選びます。| ライブラリ | 用途 |
|---|---|
| pypdf | PDF結合、分割、ページ操作 |
| PyMuPDF | PDFのテキスト抽出、画像化、図表解析補助 |
| reportlab | PDF帳票を作る |
python -m pip install pypdf pymupdf reportlab
PDFを結合する例
from pypdf import PdfWriter
from pathlib import Path
writer = PdfWriter()
for pdf_path in sorted(Path("pdfs").glob("*.pdf")):
writer.append(str(pdf_path))
with open("merged.pdf", "wb") as f:
writer.write(f)
フォルダ内のPDFをまとめる業務は非常に多いです。
- 画像を1枚読み込んでサイズを表示する
- 画像を幅800px以内にリサイズする
- 複数画像をまとめてリサイズする
- PDFを2つ用意して結合する
理解チェック
- この回の目的を一文で説明できる
- サンプルコードを自分のPCで実行できる
- エラーが出た場合、どの行で起きたか確認できる
- 少しだけ値や文字を変えて、結果の違いを確認できる