图片jpg转pdf
要将多个 JPG 图像文件转换为一个 PDF 文件,可以使用 Python 中的第三方库 reportlab
和 Pillow
来实现。以下是一个简单的示例代码,演示如何将多个 JPG 图像文件合并成一个 PDF 文件:
python
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from PIL import Image
def convert_images_to_pdf(image_paths, pdf_output):
c = canvas.Canvas(pdf_output, pagesize=letter)
for image_path in image_paths:
img = Image.open(image_path)
width, height = img.size
c.setPageSize((width, height))
c.drawImage(image_path, 0, 0, width, height)
c.showPage()
c.save()
# 将多个 JPG 图像文件转换为一个 PDF 文件
image_paths = ["image1.jpg", "image2.jpg", "image3.jpg"]
output_pdf = "output.pdf"
convert_images_to_pdf(image_paths, output_pdf)
在上面的代码中,convert_images_to_pdf
函数接受一个包含图像文件路径的列表 image_paths
和要输出的 PDF 文件名称 pdf_output
。函数会打开每个图像文件,将其绘制到 PDF 文件中,并最终保存为一个 PDF 文件。
使用这段代码,可以将多个 JPG 图像文件合并成一个 PDF 文件。请确保安装了 reportlab
和 Pillow
这两个库,可以使用以下命令来安装它们:
python
pip install reportlab Pillow
pdf转图片jpg
要将一个 PDF 文件拆分为多个 JPG 图像文件,可以使用 Python 中的第三方库 PyPDF2
和 Pillow
来实现。以下是一个简单的示例代码,演示如何将一个 PDF 文件中的每一页都转换为一个独立的 JPG 图像文件:
python
import fitz
from PIL import Image
def pdf_to_jpg(input_pdf, output_folder):
pdf_document = fitz.open(input_pdf)
for page_num in range(pdf_document.page_count):
page = pdf_document[page_num]
image_list = page.get_images(full=True)
for img_index, img_dict in enumerate(image_list):
xref = img_dict[0]
base_image = pdf_document.extract_image(xref)
image_bytes = base_image["image"]
image = Image.open(io.BytesIO(image_bytes))
image_path = f"{output_folder}/page{page_num + 1}_image{img_index + 1}.jpg"
image.save(image_path)
pdf_document.close()
# 将一个 PDF 文件拆分为多个 JPG 图像文件
input_pdf = "input.pdf"
output_folder = "output_images"
pdf_to_jpg(input_pdf, output_folder)
在上面的代码中,pdf_to_jpg
函数接受一个输入的 PDF 文件路径 input_pdf
和一个输出图像文件夹路径 output_folder
。函数会逐页读取 PDF 文件中的内容,并将每一页中的图像转换为 JPG 格式保存在指定的输出文件夹中。
请确保安装了 PyPDF2
和 Pillow
这两个库,可以使用以下命令来安装它们:
python
pip install PyPDF2 Pillow