ホームページ  >  記事  >  バックエンド開発  >  Python は画像を PDF 形式にバッチ合成する機能を実装します

Python は画像を PDF 形式にバッチ合成する機能を実装します

WBOY
WBOY転載
2023-05-06 23:49:102613ブラウズ

太实用了!Python 合成多张图片到PDF格式!

macOS システムでは、プレビュー ソフトウェアを使用してこれを簡単に行うことができ、同時にプレビュー ウィンドウで画像を開き、[PDF をエクスポート] をクリックすると正常にエクスポートされます。インターネット上には PDF を合成するための Web サイトが数多くありますが、これらの Web サイトでは例外なく PDF をアップロードして合成する必要があり、個人的には非常に危険だと思います。

したがって、最も安全な方法は、Python スクリプトを自分で作成して合成機能を実装することです。

1. 準備

次のいずれかの方法を選択して、依存関係をインストールするコマンドを入力してください:

1. Windows 環境 Cmd (Start-Run-CMD) を開きます。

2. MacOS 環境 ターミナルを開きます (コマンドスペースを入力してターミナルに入ります)。

3. VSCode エディターまたは Pycharm を使用している場合は、インターフェイスの下部にあるターミナルを直接使用できます。

pip install pillow

2. 合成原理

Pillow モジュール、つまり、PIL: Python Imaging Library は、すでに Python プラットフォーム上の画像処理の事実上の標準ライブラリです。 PIL は非常に強力ですが、API は非常にシンプルで使いやすいです。これを使用すると、画像を簡単に操作して、さまざまな形式にエクスポートできます。

簡単な例から始めましょう。画像を開いて PDF 形式で保存します:

from PIL import Image
import os
def convert_img_pdf(filepath, output_path):
"""
转换图片为pdf格式
Args:
filepath (str): 文件路径
output_path (str): 输出路径
"""
output = Image.open(filepath)
output.save(output_path, "pdf", save_all=True)
if __name__ == "__main__":
convert_img_pdf("1.jpeg", "./test.pdf")

画像を使用してテストしてください:

太实用了!Python 合成多张图片到PDF格式!

コードを実行すると、PDF ファイルに正常に変換されました。

太实用了!Python 合成多张图片到PDF格式!

#変換は、わずか数行のコードで完了しました。写真をクラウドにアップロードする Web サイトの方がはるかに安全であるということです。

3. 複数の写真を PDF に結合する

写真を PDF に変換する基本的な知識があれば、複数の写真を PDF に結合するための次のコードを理解するのは非常に簡単です。

実際には、.save:

output.save(pdfFilePath, "pdf", save_all=True, append_images=sources)

の特別なパラメータ append_images を使用します。画像を「sources」配列に保存することで、これらの画像を PDF 中間部に簡単に合成できます。

from PIL import Image
import os
def combine_imgs_pdf(folder_path, pdf_file_path):
"""
合成文件夹下的所有图片为pdf
Args:
folder_path (str): 源文件夹
pdf_file_path (str): 输出路径
"""
files = os.listdir(folder_path)
png_files = []
sources = []
for file in files:
if 'png' in file or 'jpg' in file:
png_files.append(folder_path + file)
png_files.sort()
output = Image.open(png_files[0])
png_files.pop(0)
for file in png_files:
png_file = Image.open(file)
if png_file.mode == "RGB":
png_file = png_file.convert("RGB")
sources.append(png_file)
output.save(pdf_file_path, "pdf", save_all=True, append_images=sources)
if __name__ == "__main__":
folder = r"G:证件\"
pdfFile = r"G:证件身份证.pdf"
combine_imgs_pdf(folder, pdfFile)

このように、証明写真をフォルダーに入れてこの Python コードを実行するだけで、これらの証明写真が自動的に PDF に結合され、指定したパスに出力されます。とてもシンプルで便利です。

太实用了!Python 合成多张图片到PDF格式!

必要な場合は、コードに従って試してみてください。 100 回見て、1,000 回読んだ後は、自分で入力する方が良いでしょう。

以上がPython は画像を PDF 形式にバッチ合成する機能を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。