>  기사  >  백엔드 개발  >  Python은 이미지를 PDF 형식으로 일괄 합성을 구현합니다.

Python은 이미지를 PDF 형식으로 일괄 합성을 구현합니다.

WBOY
WBOY앞으로
2023-05-06 23:49:102563검색

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

macOS 시스템에서는 미리보기 소프트웨어로 쉽게 이 작업을 수행할 수 있습니다. 동시에 미리보기 창에서 이미지를 열고 PDF 내보내기를 클릭하면 성공적으로 내보낼 수 있습니다. 그러나 Windows 시스템에는 이를 달성할 수 있는 편리한 소프트웨어가 없습니다. 인터넷에는 PDF를 합성하는 웹사이트가 많이 있지만 이러한 웹사이트는 예외 없이 합성을 위해 PDF를 업로드해야 하기 때문에 개인적으로 매우 안전하지 않다고 생각합니다.

따라서 가장 안전한 방법은 Python 스크립트를 직접 작성하여 합성 기능을 구현하는 것입니다.

1. 준비

다음 방법 중 하나를 선택하여 종속 항목을 설치하는 명령을 입력하세요.

1. Windows 환경에서 Cmd(Start-Run-CMD)를 엽니다.

2. MacOS 환경 터미널을 엽니다(터미널에 들어가려면 Command+Space).

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格式!

이 변환은 단 몇 줄의 코드만으로 완료되므로 사진을 클라우드에 업로드하는 웹 사이트보다 훨씬 안전합니다.

3. 여러 장의 사진을 PDF로 결합

사진을 PDF로 변환하는 기본 지식이 있으면 여러 장의 사진을 PDF로 결합하는 다음 코드를 이해하는 것이 매우 쉽습니다.

실제로 우리는 .saveappend_images의 특수 매개변수를 사용합니다:

output.save(pdfFilePath, "pdf", save_all=True, 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格式!

필요한 친구들은 코드를 따라가서 사용해 보세요! 백 번 보고, 천 번 읽은 후에 직접 타이핑하는 것이 더 좋습니다!

위 내용은 Python은 이미지를 PDF 형식으로 일괄 합성을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제