様々な形式の画像を高品質なPDFに変換するPythonライブラリです。バッチ変換やメタデータ付与、コマンドライン操作、設定ファイルによるカスタマイズなど、実用的な機能を多数搭載しています。
- 複数の画像を1つのPDFに結合
- 様々な画像形式に対応(PNG, JPEG, BMP, GIF, TIFF, WebP, HEIC)
- 画像の前処理機能
- リサイズ
- 回転
- フィルター適用(ぼかし、シャープ化、エッジ検出など)
- 色空間変換
- 進捗表示
- エラーハンドリング
- 設定ファイルによるカスタマイズ
- コマンドラインインターフェース
pip install pdfforge# 基本的な使用方法
pdfforge input/*.jpg output.pdf
# 画像のリサイズを指定
pdfforge input/*.jpg output.pdf --width 800 --height 600
# 画像の回転を指定
pdfforge input/*.jpg output.pdf --rotate 90
# フィルターを適用
pdfforge input/*.jpg output.pdf --filter blur
# 複数のオプションを組み合わせ
pdfforge input/*.jpg output.pdf --width 800 --rotate 90 --filter sharpenfrom pdfforge import ImageToPDF
# 基本的な使用方法
converter = ImageToPDF()
converter.convert("input/*.jpg", "output.pdf")
# 画像のリサイズを指定
converter = ImageToPDF(width=800, height=600)
converter.convert("input/*.jpg", "output.pdf")
# 画像の回転を指定
converter = ImageToPDF(rotate=90)
converter.convert("input/*.jpg", "output.pdf")
# フィルターを適用
from PIL import ImageFilter
converter = ImageToPDF(filter=ImageFilter.BLUR)
converter.convert("input/*.jpg", "output.pdf")
# 複数のオプションを組み合わせ
converter = ImageToPDF(
width=800,
height=600,
rotate=90,
filter=ImageFilter.SHARPEN
)
converter.convert("input/*.jpg", "output.pdf")~/.pdfforge/config.jsonに設定ファイルを作成することで、デフォルトの設定をカスタマイズできます:
{
"width": 800,
"height": 600,
"rotate": 0,
"filter": "none",
"output_format": "PDF",
"compression_quality": 85
}from pdfforge import ImageToPDF, ConversionError
try:
converter = ImageToPDF()
converter.convert("input/*.jpg", "output.pdf")
except ConversionError as e:
print(f"変換エラー: {e}")from pdfforge import ImageToPDF
from tqdm import tqdm
converter = ImageToPDF(progress_bar=tqdm)
converter.convert("input/*.jpg", "output.pdf")- PNG
- JPEG
- BMP
- GIF
- TIFF
- WebP
- HEIC
- ぼかし(Blur)
- シャープ化(Sharpen)
- エッジ検出(Edge Detection)
- 輪郭検出(Contour)
- エンボス(Emboss)
- スムージング(Smooth)
MITライセンスの下で公開されています。詳細はLICENSEファイルを参照してください。
- このリポジトリをフォーク
- 新しいブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add some amazing feature') - ブランチにプッシュ (
git push origin feature/amazing-feature) - プルリクエストを作成
- tikisan - 初期開発者
- 大量の画像を処理する場合は、メモリ使用量に注意してください
- HEIC形式の画像を処理するには、追加のライブラリが必要な場合があります
- 一部の画像形式は、Pillowのインストール時に追加の依存関係が必要な場合があります
-
メモリエラー
- 画像のサイズを小さくする
- バッチ処理を使用する
- システムのメモリを増やす
-
画像形式のサポート
- Pillowが正しくインストールされているか確認
- 必要な追加ライブラリをインストール
-
パフォーマンスの問題
- 画像の前処理を最適化
- マルチスレッド処理を検討
- バッチサイズを調整
-
Q: 大量の画像を処理するには? A: バッチ処理を使用し、適切なバッチサイズを設定してください。
-
Q: 特定の画像形式がサポートされていない場合は? A: Pillowのドキュメントを確認し、必要な追加ライブラリをインストールしてください。
-
Q: メモリ使用量を最適化するには? A: 画像のサイズを小さくし、バッチ処理を使用してください。
# すべてのテストを実行
pytest
# 特定のテストを実行
pytest tests/test_core.py
# カバレッジレポートを生成
pytest --cov=pdfforge tests/このプロジェクトはPEP 8に従っています。
# ドキュメントを生成
cd docs
make html- 初期リリース
- 基本的な画像からPDFへの変換機能
- 画像の前処理機能
- コマンドラインインターフェース
- 設定ファイルサポート