使用 Python 将 PDF 转换为图像 [重复]

2023-12-09

我正在尝试在我安装的 ubuntu 服务器中将 pdf 文件转换为图像文件:

  1. 蟒蛇2.7
  2. poppler 工具
  3. pdf2image==1.12.1

My code:

from pdf2image import convert_from_path, convert_from_bytes

images = convert_from_path("/home/user/pdf_file.pdf")

# OR

with open("/home/user/pdf_file.pdf") as pdf:
    images = convert_from_bytes(pdf.read())

OUTPUT

当我使用函数“convert_from_path”时

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pdf2image/pdf2image.py", line 143, in convert_from_path
    thread_output_file = next(output_file)
TypeError: ThreadSafeGenerator object is not an iterator

当我使用函数“convert_from_bytes”时

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pdf2image/pdf2image.py", line 268, in convert_from_bytes
    paths_only=paths_only,
  File "/usr/local/lib/python2.7/dist-packages/pdf2image/pdf2image.py", line 143, in convert_from_path
    thread_output_file = next(output_file)
TypeError: ThreadSafeGenerator object is not an iterator

我已经重新安装了所有实用程序,然后我遇到了这些问题。


如果您想将PDF转换为图像,您可以尝试Python Ghostscript 包:

pip install ghostscript

import ghostscript
import locale

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

    encoding = locale.getpreferredencoding()
    args = [a.encode(encoding) for a in args]

    ghostscript.Ghostscript(*args)

pdf2jpeg(
    "...Fixate/ActiveState/pdf/a.pdf",
    "...Fixate/ActiveState/pdf/a.jpeg",
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python 将 PDF 转换为图像 [重复] 的相关文章

  • 在 sympy 绘图中,如何获得具有固定纵横比的绘图?

    如果我用这个片段画一个圆 from sympy import x y symbols x y p1 plot implicit Eq x 2 y 2 1 aspect ratio 1 1 我会得到一个像这样的图形窗口 现在长宽比不是我所期望
  • 在Linux中的端口80上运行flask[重复]

    这个问题在这里已经有答案了 也许以前有过这个问题的答案 所以请重定向我 如果是这样的话 我正在考虑在端口 80 上运行 Flask 所以我检查了是否有任何东西正在使用端口 80 因为事实证明端口 80 没有运行 所以当我输入以下内容时 if
  • 如何在Python中找到低精度浮点值的原始文本表示?

    我遇到了显示问题floatPython 中的值 从外部数据源加载 它们是 32 位浮点数 但这也适用于较低精度的浮点数 以防万一 这些值是由人类在 C C 中输入的 因此与任意计算值不同 与round数字很 可能not预期的 但不能被忽略
  • Python 如果 kwargs 中的 key 并且 key 为 true

    if force in kwargs and kwargs force is True 感觉应该有更好的方法来编写这个条件 因为我重复了键和变量 假设您确实想检查返回的关键字参数是否is True 这是另一种稍微不同的方式 if kwarg
  • 如何在Python中检查UDF函数中pyspark数据帧列的单元格值为none或NaN以实现前向填充?

    我基本上是在尝试进行前向填充插补 下面是代码 df spark createDataFrame 1 1 None 1 2 5 1 3 None 1 4 None 1 5 10 1 6 None session timestamp id PR
  • tkinter 上的“NoneType”对象没有属性“get”错误[重复]

    这个问题在这里已经有答案了 我最近开始使用 python 3 6 进行编码tkinter并尝试创建我自己的项目repl it 该项目是一个简单的交互式待办事项列表 但是我陷入困境并且无法使该功能正常工作 该函数只是简单地获取条目并将其添加到
  • Python绕相机轴旋转图像

    假设我有一个图像 是在对某些原始图像应用单应性变换 H 后获得的 未显示原始图像 将单应性 H 应用于原始图像的结果是该图像 我想围绕合适的轴 可能是相机所在的位置 如果有的话 将此图像旋转 30 度以获得此图像 如果我不知道相机参数 如何
  • gcloud app deploy:此部署有太多文件

    当我尝试通过 gcloud 部署我的 GAE 应用程序时 出现以下错误 Updating service default failed ERROR gcloud app deploy Error Response 400 This depl
  • Tensorflow:Cuda 计算能力 3.0。所需的最低 Cuda 能力为 3.5

    我正在从源安装tensorflow 文档 https www tensorflow org versions r0 10 get started os setup html installing from sources Cuda驱动版本
  • Web 应用程序框架:C++ 与 Python

    作为一名程序员 我熟悉 Python 和 C 我正在考虑编写自己的简单 Web 应用程序 并且想知道哪种语言更适合服务器端 Web 开发 我正在寻找一些东西 它必须是直观的 我认识到 Wt 存在并且它遵循 Qt 的模型 我讨厌 Qt 的一件
  • Python 日志记录 - 如何检查记录器是否为空

    我刚刚在我的应用程序中实现了日志记录 我想知道是否有一种方法可以检查记录器是否为空 我的想法是在我的脚本中设置两个处理程序 一个用于带水平仪的控制台WARNING 一个用于带级别的文件DEBUG 在脚本的最后 我需要检查是否CONSOLE记
  • Python 多处理:全局对象未正确复制到子级

    前几天我回答了一个关于SO的问题 https stackoverflow com q 67047533 1925388关于并行读取 tar 文件 这是问题的要点 import bz2 import tarfile from multipro
  • pygame.image.load 不工作

    我正在尝试为游戏创建世界地图 但是当我尝试将世界地图加载到屏幕上时 命令行告诉我无法执行此操作 这是代码 import sys import pygame from pygame locals import pygame init Surf
  • 邪恶的pdf在两页上渲染最后一行

    我在用邪恶 pdf https github com mileszs wicked pdf生成 pdf 我面临的问题是 有时它会跨两页显示页面中的最后一行 如果 wicked pdf 无法容纳该页面中的整个行 或者对页面中的行数设置限制 有
  • 在 CSV 文件的最上面一行写入

    我有这个sample csv 文件 a 1 apple b 2 banana c 3 cranberry d 4 durian e 5 eggplant 并有以下代码 samplefile open sample csv rb rows s
  • 无法从源 pylance 解析导入烧瓶

    我正在学习 Python 课程的一部分是使用 Flask 设置网络服务器 我按照 Flask 安装文档执行了步骤 由于某种原因 flask 模块带有下划线 如下所示 当我将鼠标悬停时 我会得到如下附加信息 无法从源 pylance 解析导入
  • 类型错误:不可散列的类型:pandas 的“切片”

    我有一个 pandas 数据结构 我这样创建 test inputs pd read csv input test csv delimiter 它的形状 print test inputs shape is this 28000 784 我
  • PHP清晰度卷积矩阵

    我正在使用一个卷积矩阵 http www php net manual en function imageconvolution php为了锐度PHP GD我想改变清晰度 level 我会去哪里做出改变如果我想做到的话或多或少尖锐 imag
  • 从 Python 访问 802.11 无线管理帧

    我想从 Linux 上的 Python 嗅探 802 11 管理 探测请求 帧 这可以从 Scapy 中实现 如下所示 coding utf 8 from scapy all import def proc p if p haslayer
  • Django Python - LDAP 身份验证

    我目前正在研究 Django Python 我的目标是从 Ldap 目录对用户进行身份验证 我确实有 python 代码来访问 ldap 目录并检索信息 Code import ldap try l ldap open ldap forum

随机推荐

  • Java:如何为 TextField 执行“onclick”?

    我想让我的文本字段在有人单击它时清除文本 我怎样才能做到这一点 on java awt TextField你可以添加一个MouseListener like so TextField field new TextField field ad
  • VB6 的 ORM/MDA/UML 工具

    我知道 Rational Rose 我们有 Rational Rose 6 但我正在寻找一些其他更有用的工具 它们不会抱怨它们不能在 Windows 98 2000 中运行 当在 WinXP 中安装和运行时 并且与 Rational Ros
  • MySQL JOIN 忽略 NULL 值

    我有以下带有 JOIN 的 SQL 如果我运行它 它会忽略 users 表中的 group id 中具有 NULL 值的记录 因此 我得到的结果较少 SELECT u user id u email g group name FROM us
  • 使用 Python 将 CSV 文件上传到 Google Cloud Storage

    我需要使用 Python 自动将本地 csv 文件上传到 Google Cloud 存储桶中 我可以使用哪个 Python 库 任何示例代码将不胜感激 我们可以使用google python客户端api将文件上传到google云存储 首先
  • iPhone 5 中的定位服务进入“非活动”状态

    甚至我的应用程序也在后台注册位置更新 在我的代码中 self locationManager desiredAccuracy kCLLocationAccuracyThreeKilometers self locationManager d
  • C中使用scanf()连续读取两个字符

    我正在尝试输入用户的两个字符t次数 这是我的代码 int main int t scanf d t char a b for i 0 i
  • 通过 Paramiko 从 SFTP 服务器将 CSV 文件读入 Pandas 失败,并显示“'utf-8'编解码器无法解码字节...在位置...:无效的起始字节”

    我正在尝试使用 Paramiko 从 SFTP 服务器将 CSV 文件读入 Pandas with sftp open path file filename as fp fp aux pd read csv fp separator 但是当
  • 菜单元素的 ListView 信号和槽

    我正在尝试使用自定义元素实现某种自定义菜单 最终目标是创建某种带有文本和图标的弹出菜单 但在创作过程中我遇到了一些问题 我可以展示两个主要问题 有一个带有标题的奇怪菜单元素Hello world在第一个位置 看起来像是读取应用程序窗口的标题
  • 当我们显式调用 Finalize() 时,对象内存是否被释放? [复制]

    这个问题在这里已经有答案了 据我的理解 finalize 和 GC 是两个不同的方面 GC使用finalize 方法来释放Object内存 我们无法说明 GC 何时发生 即使我们显式调用 System gc 但我们可以在对象上显式调用 Fi
  • 在 PowerShell 中迭代 PSObject 属性

    我有这个PSObject 来自 XML bool IsActive ShowOnB2C ShowOnB2B IsWebNews str id ProductId GroupName Unit int ProductIdNumeric Pri
  • 无对话发送 Facebook 应用请求

    由于可以使用 FB api Id feed 在没有请求对话框的情况下在用户墙上发布内容 是否可以通过 FB api 向用户发送应用请求 而不是 FB ui apprequests 谢谢您的回答 我真的需要帮助 我已经四处寻找了几个星期 您可
  • SVG CSS 悬停样式

    尝试使用 CSS 对该多色 HTML 图像的 SVG 进行样式化 以便 5 的右侧在悬停时为白色 body background color gray svg height 50vh fill white html5 g st2 st0 f
  • 在 OpenLayers (KML) 中刷新/重绘图层网络链接自动刷新

    TLDR我想刷新计时器上的图层 以便它绘制新的 kml 数据 如更新链接 网络链接 到目前为止 我已经尝试过操作功能如下 function RefreshKMLData layer layer loaded false layer setV
  • 如何通过事务以多模型形式显示错误消息?

    组织和用户这两个模型具有一对多关系 我有一个组合注册表单 其中一个组织加上该组织的用户进行了注册 我遇到的问题是 当为用户提交无效信息时 它会再次呈现表单 但不会显示用户的错误消息 例如 用户名不能为空 当提交有效信息时 该表单确实有效 并
  • 如何使用反向代理来绕过 X-Frame-Options: SAMEORIGIN for iframe

    我正在努力解决某些页面上的 X Frame Options SAMEORIGIN 限制 以便我可以将它们放入 iframe 中 我知道可以使用反向代理服务器来解决这个问题 但我不确定如何做 我需要的是为一些大厅监视器创建一个触摸屏界面 这些
  • Apache Ant 与 Graal VM

    我们将 Apache Ant 与 Nashorn JavaScript Engine 结合使用 该引擎在 jdk 15 及更高版本中已弃用并删除 我试图找到如何从 Nashorn 切换到 Graal VM 但即使在 Apache 网站上也没
  • WebView方向改变问题

    我有一个下面的布局 其中有一个以重力为中心的线性布局 以使子项居中对齐 我想以编程方式添加一个 webview 并在其中加载 youtube 视频 问题是 webview 的高度和宽度是wrap content wrap content 因
  • docker CMD 中的命令替换

    Using CMD pipenv venv bin python3 main py root uploads 导致错误docker run Error response from daemon invalid header field va
  • Laravel 5.1 中的表单验证异常没有被异常捕获?

    在 laravel5 中 我捕获了所有错误app Exceptions Handler render功能并且工作正常 下面给出的代码 public function render request Exception e error resp
  • 使用 Python 将 PDF 转换为图像 [重复]

    这个问题在这里已经有答案了 我正在尝试在我安装的 ubuntu 服务器中将 pdf 文件转换为图像文件 蟒蛇2 7 poppler 工具 pdf2image 1 12 1 My code from pdf2image import conv