Hướng dẫn how do i convert a pdf to multiple images in python? - làm cách nào để chuyển đổi một pdf sang nhiều hình ảnh trong python?

from pdf2image import convert_from_path
images = convert_from_path('path.pdf',poppler_path=r"E:/software/poppler-0.67.0/bin")
for i in range(len(images)):
        images[i].save('image_name'+ str(i) +'.jpg', 'JPEG')

Nhưng bây giờ tôi muốn chuyển đổi hơn 100 tệp PDF thành hình ảnh. Không có cách nào khác ư? Cảm ơn trước.

Hướng dẫn how do i convert a pdf to multiple images in python? - làm cách nào để chuyển đổi một pdf sang nhiều hình ảnh trong python?

jtlz2

6.7807 Huy hiệu vàng59 Huy hiệu bạc102 Huy hiệu Đồng7 gold badges59 silver badges102 bronze badges

hỏi ngày 18 tháng 9 năm 2021 lúc 17:36Sep 18, 2021 at 17:36

3

Bạn có thể sử dụng Glob để 'Quả cầu' tên tệp vào danh sách: Glob Python ở đây https://docs.python.org/3/l Library/glob.html - nhưng đó là một biểu thức chung để sử dụng mở rộng ký tự đại diện trong (** Nix) Hệ thống tập tin [https://en.wikipedia.org/wiki/glob_(Programming)]. Tôi cho rằng nó hoạt động dưới Windows :)

Sau đó, bạn chỉ cần lặp qua các tập tin. Này Presto!

import glob
from pdf2image import convert_from_path

poppler_path = r"E:/software/poppler-0.67.0/bin"

pdf_filenames = glob.glob('/path/to/image_dir/*.pdf')

for pdf_filename in pdf_filenames:
    images = convert_from_path(pdf_filename, poppler_path=poppler_path)
    for i in range(len(images)):
        images[i].save(f"{pdf_filename}{i}.jpg", 'JPEG')

! Mẹo: f"{pdf_filename}{i}.jpg" là một Python f-string mang đến cho người đọc một ý tưởng tốt hơn về chuỗi sẽ trông như thế nào. Bạn có thể muốn 0 pad các số nguyên ở đó, bởi vì đến một lúc nào đó bạn có thể muốn 'quả cầu' đó hoặc một số như vậy. Có rất nhiều cách để đạt được điều đó - xem làm thế nào để chuyển số 0 đến một chuỗi? Ví dụ.

Đã trả lời ngày 18 tháng 9 năm 2021 lúc 17:46Sep 18, 2021 at 17:46

Hướng dẫn how do i convert a pdf to multiple images in python? - làm cách nào để chuyển đổi một pdf sang nhiều hình ảnh trong python?

jtlz2jtlz2jtlz2

6.7807 Huy hiệu vàng59 Huy hiệu bạc102 Huy hiệu Đồng7 gold badges59 silver badges102 bronze badges

hỏi ngày 18 tháng 9 năm 2021 lúc 17:36

Bạn có thể sử dụng Glob để 'Quả cầu' tên tệp vào danh sách: Glob Python ở đây https://docs.python.org/3/l Library/glob.html - nhưng đó là một biểu thức chung để sử dụng mở rộng ký tự đại diện trong (** Nix) Hệ thống tập tin [https://en.wikipedia.org/wiki/glob_(Programming)]. Tôi cho rằng nó hoạt động dưới Windows :)

  • Sau đó, bạn chỉ cần lặp qua các tập tin. Này Presto!
 os.listdir(path to folder containing pdf files)

! Mẹo: f"{pdf_filename}{i}.jpg" là một Python f-string mang đến cho người đọc một ý tưởng tốt hơn về chuỗi sẽ trông như thế nào. Bạn có thể muốn 0 pad các số nguyên ở đó, bởi vì đến một lúc nào đó bạn có thể muốn 'quả cầu' đó hoặc một số như vậy. Có rất nhiều cách để đạt được điều đó - xem làm thế nào để chuyển số 0 đến một chuỗi? Ví dụ.

Đã trả lời ngày 18 tháng 9 năm 2021 lúc 17:46

  • Bạn có thể sẽ cần sử dụng mô -đun HĐH.
images = convert_from_path('path.pdf',poppler_path=r"E:/software/poppler-0.67.0/bin")
for i in range(len(images)):
        images[i].save('image_name'+ str(i) +'.jpg', 'JPEG')

Bước đầu tiên:

Sử dụng chức năng OS.ListDir như thế nàySep 18, 2021 at 18:39

Hướng dẫn how do i convert a pdf to multiple images in python? - làm cách nào để chuyển đổi một pdf sang nhiều hình ảnh trong python?

Có một thư viện tuyệt vời dễ sử dụng có tên PDF2Image chuyển đổi các tệp PDF thành hình ảnh JPEG hoặc PNG theo yêu cầu. Nó hoạt động khá tốt, nhưng nó tạo ra nhiều tệp cho các tệp PDF nhiều trang và tôi cần một hình ảnh duy nhất chứa tất cả các tệp trong tệp PDF, được hợp nhất theo chiều dọc, vì vậy pdf2image không đáp ứng mọi nhu cầu của tôi.

Sau đó, tôi tìm thấy gối để thao tác/xử lý các tệp hình ảnh, từ đó tôi có thể hợp nhất nhiều tệp hình ảnh với nhau. Nó đi từ đây:

Yêu cầu

Cài đặt yêu cầu hai mô -đun Python và một số thư viện bổ sung để xử lý các tệp PDF.

Để cài đặt gối:

Để cài đặt PDF2Image:

pdf2image yêu cầu

import glob
from pdf2image import convert_from_path

poppler_path = r"E:/software/poppler-0.67.0/bin"

pdf_filenames = glob.glob('/path/to/image_dir/*.pdf')

for pdf_filename in pdf_filenames:
    images = convert_from_path(pdf_filename, poppler_path=poppler_path)
    for i in range(len(images)):
        images[i].save(f"{pdf_filename}{i}.jpg", 'JPEG')
0, bản thân repo có các hướng dẫn cài đặt. Vì tôi là người dùng macOS, tôi chỉ cần chạy:

Mọi thứ đã sẵn sàng.

Mật mã

Dưới đây đoạn mã được viết bằng

import glob
from pdf2image import convert_from_path

poppler_path = r"E:/software/poppler-0.67.0/bin"

pdf_filenames = glob.glob('/path/to/image_dir/*.pdf')

for pdf_filename in pdf_filenames:
    images = convert_from_path(pdf_filename, poppler_path=poppler_path)
    for i in range(len(images)):
        images[i].save(f"{pdf_filename}{i}.jpg", 'JPEG')
1. Trước tiên, nó chuyển đổi PDF thành nhiều hình ảnh và sau đó hợp nhất chúng lại với nhau. Chạy nó với đường dẫn tệp PDF nguồn và đường dẫn thư mục đầu ra mà bạn muốn JPEG được xuất.

import os
import tempfile
from pdf2image import convert_from_path
from PIL import Image


def convert_pdf(file_path, output_path):
    # save temp image files in temp dir, delete them after we are finished
    with tempfile.TemporaryDirectory() as temp_dir:

        # convert pdf to multiple image
        images = convert_from_path(file_path, output_folder=temp_dir)

        # save images to temporary directory
        temp_images = []
        for i in range(len(images)):
            image_path = f'{temp_dir}/{i}.jpg'
            images[i].save(image_path, 'JPEG')
            temp_images.append(image_path)

        # read images into pillow.Image
        imgs = list(map(Image.open, temp_images))

    # find minimum width of images
    min_img_width = min(i.width for i in imgs)

    # find total height of all images
    total_height = 0
    for i, img in enumerate(imgs):
        total_height += imgs[i].height

    # create new image object with width and total height
    merged_image = Image.new(imgs[0].mode, (min_img_width, total_height))

    # paste images together one by one
    y = 0
    for img in imgs:
        merged_image.paste(img, (0, y))
        y += img.height

    # save merged image
    merged_image.save(output_path)

    return output_path

Làm cách nào để chuyển đổi tệp PDF thành hình ảnh trong Python?

Nhiều công cụ có sẵn trên Internet để chuyển đổi PDF thành hình ảnh. Trong bài viết này, chúng tôi sẽ viết mã để chuyển đổi PDF thành hình ảnh và tạo một ứng dụng tiện dụng trong Python ...
Nhập mô -đun PDF2Image ..
Lưu trữ PFD với Convert_From_Path ().
Lưu hình ảnh với Save ().

Làm cách nào để chia pdf thành một hình ảnh?

Cách chuyển đổi PDF sang JPG trực tuyến:..
Kéo và thả tệp của bạn trong PDF sang JPG Converter ..
Chọn 'Chuyển đổi toàn bộ trang' hoặc 'Trích xuất hình ảnh đơn' ..
Nhấp vào 'Chọn Tùy chọn' và chờ quá trình hoàn thành ..
Tải xuống các tệp được chuyển đổi dưới dạng các tệp JPG đơn hoặc tập thể trong tệp zip ..

Bạn có thể chuyển đổi PDF sang JPG không?

PDF đến JPG là một cách dễ dàng, trực quan và nhanh nhất để chuyển đổi tài liệu PDF thành hình ảnh chất lượng tốt nhất.PDF thành JPG chuyển đổi từng trang PDF thành các định dạng hình ảnh JPEG, JPEG XR, PNG, TIFF, GIF và BMP.. PDF to JPG converts each PDF page into JPEG, JPEG XR, PNG, TIFF, GIF and BMP image formats.

Làm cách nào để chuyển đổi PDF thành PNG trong Python?

Làm thế nào để chuyển đổi PDF thành PNG..
Cài đặt 'Aspose.Từ cho Python qua.MẠNG LƯỚI'..
Thêm một tham chiếu thư viện (nhập thư viện) vào dự án Python của bạn ..
Mở tệp PDF nguồn trong Python ..
Gọi phương thức 'Lưu ()', chuyển tên tệp đầu ra với phần mở rộng PNG ..
Nhận kết quả chuyển đổi PDF là PNG ..