【问题标题】:Converting PDFs to Images using Poppler. It works for one file, but not when looping through a folder of PDFs?使用 Poppler 将 PDF 转换为图像。它适用于一个文件,但不适用于循环浏览 PDF 文件夹?
【发布时间】:2019-09-13 17:25:09
【问题描述】:

我正在将 PDF 文件夹转换为 JPG 图像。我正在使用 Poppler,当我让它一次处理一张图像时,它可以工作。但是,当遍历文件夹中的每个 PDF 文件时,会出现以下错误: “PDFInfoNotInstalledError:无法获取页数。是否已安装 poppler 并在 PATH 中?” 因为我知道 Poppler 已安装并在 PATH 中(并且为单个样本工作),所以我想知道我的循环是否以某种方式导致了问题? 对于上下文,请注意这在 Anaconda 的 Spyder 上的 Windows 中已关闭; python-3.6.

from pdf2image import convert_from_path 
import os

for filename in os.listdir(r".\I. Original Data\PDF Files"):
    if filename.endswith(r".pdf"):
        with open(os.path.join(r".\I. Original Data\PDF Files", filename)) as f:
            pages = convert_from_path(f, 1000)
            image_counter = 1
            for page in pages:
                filename = ".\II. Transformation\page_" + str(image_counter) + ".jpg"
                page.save(filename, 'JPEG')
                image_counter = image_counter + 1 

我希望最终产品可以将每个 PDF 的每一页输出到引用的“转换”文件夹中的单独文件中。

谢谢!

【问题讨论】:

    标签: anaconda python-3.6 pdf-conversion poppler


    【解决方案1】:
    for filename in os.listdir(r".\I. Original Data\PDF Files"):    
        filepath = (".\I. Original Data\PDF Files\\" + filename)
        pages = convert_from_path(filepath, 1000)
        image_counter = 1
        for page in pages:
            file = ".\II. Transformation\\" + str(os.path.splitext(filename)[0]) + "_page_" + str(image_counter) + ".jpg"
            page.save(file, 'JPEG')
            image_counter = image_counter + 1
    

    【讨论】:

      猜你喜欢
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 2012-12-25
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多