如何使用 python 中的 pdf2image 将 pdf 从 url 转换为图像?

How to convert pdf from url to image using pdf2image in python?

我可以使用 pdf2image convert_to_path 将驱动器中的 pdf 文件转换为图像 convert_to_path 但是当我对 pdf 'https://example.com/abc.pdf' 尝试同样的操作时,最终出现多个错误。

代码:

url = 'https://example.com/abc.pdf'
scrape = urlopen(url)  # for external files
pil_images = pdf2image.convert_from_bytes(scrape.read(), dpi=200, 
             output_folder=None, first_page=None, last_page=None,
             thread_count=1, userpw=None,use_cropbox=False, strict=False,
             poppler_path=r"C:\poppler-0.68.0_x86\poppler-0.68.0\bin",)

错误:

   Unable to get page count. Syntax Error: Document stream is empty

下面也跟着 link 但运气不好

Python3: Download PDF to memory and convert first page to image

身份验证截图:

首先按照本博客中的提及从 URL 下载 pdf。 https://dzone.com/articles/simple-examples-of-downloading-files-using-python

如果您有多个 pdf 页面,则使用此将 pdf 转换为图像或任何其他格式。

import ghostscript

def pdf2jpeg(pdf_input_path, jpeg_output_path):
    args = ["pdf2jpeg", # actual value doesn't matter
            "-dNOPAUSE",
            "-sDEVICE=jpeg",
            "-r144",
            "-sOutputFile=" + jpeg_output_path,
            pdf_input_path]
    ghostscript.Ghostscript(*args)

参考:Converting a PDF to a series of images with Python

要进行身份验证,请尝试此操作。

import os
import requests

from urlparse import urlparse

username = 'foo'
password = 'sekret'

url = 'http://example.com/blueberry/download/somefile.jpg'
filename = os.path.basename(urlparse(url).path)

r = requests.get(url, auth=(username,password))

if r.status_code == 200:
   with open(filename, 'wb') as out:
      for bits in r.iter_content():
          out.write(bits)

参考:Download a file providing username and password using Python