- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
is destroyed already"-6ren"> is destroyed already"-我正在尝试运行一个脚本,该脚本将遍历特定文件夹并使用 Wand 为其在该文件夹中找到的每个 .pdf 文件创建一个 .png 文件。 from wand.image import Image impo-6ren">
我正在尝试运行一个脚本,该脚本将遍历特定文件夹并使用 Wand 为其在该文件夹中找到的每个 .pdf 文件创建一个 .png 文件。
from wand.image import Image
import os
pdf_dir = r"D:\Program Files\Python\Python36-32\tom's shitty programs\Downloads"
for x in os.listdir(pdf_dir):
if x.endswith(".pdf"):
pdf_path = pdf_dir + '\\' + x
with Image(filename=pdf_path, resolution=300) as pdf:
page_index = 0
height = pdf.height
with Image(width=pdf.width, height=len(pdf.sequence)*height) as png:
for page in pdf.sequence:
png.composite(page, 0, page_index * height)
page_index += 1
png.save(filename=pdf_path[:-3] + "png")
这会返回以下错误:
回溯(最近一次调用最后一次):
文件“D:\Program Files\Python\Python36-32\tom's狗屎程序\venv\lib\site-packages\wand\image.py”,第1799行,在wand中返回self.resource
文件“D:\Program Files\Python\Python36-32\tom 的垃圾程序\venv\lib\site-packages\wand\resource.py”,第 151 行,在资源中引发 DestroyedResourceError(repr(self) + '已经被摧毁了')
wand.resource.DestroyedResourceError:已被销毁
在处理上述异常的过程中,又发生了一个异常:
回溯(最近一次调用最后一次):
文件“D:/Program Files/Python/Python36-32/tom's狗屎程序/wand_test.py”,第13行,包含图像(width=pdf.width, height=len(pdf.sequence)*height)作为PNG:
文件“D:\Program Files\Python\Python36-32\tom's狗屎程序\venv\lib\site-packages\wand\image.py”,第1817行,宽度返回library.MagickGetImageWidth(self.wand)
文件“D:\Program Files\Python\Python36-32\tom's狗屎程序\venv\lib\site-packages\wand\image.py”,第1801行,在wand中引发ClosedImageError(repr(self) + '已经关闭了')
wand.image.ClosedImageError:已关闭
感谢任何帮助...谢谢
最佳答案
这只是一些小事with ... as ..
context manager问题和/或拼写错误。正如错误消息所述,您正在尝试在资源关闭后使用变量 (pdf
)。仔细检查缩进。
with Image(filename=pdf_path, resolution=300) as pdf:
page_index = 0
height = pdf.height
with Image(width=pdf.width, height=len(pdf.sequence)*height) as png:
for page in pdf.sequence:
png.composite(page, 0, page_index * height)
page_index += 1
png.save(filename=pdf_path[:-3] + "png")
如果您使用的是 Wand 0.5.0 版本,那么您也许可以利用 wand.image.Image.concat
方法。
with Image(filename=pdf_path, resolution=300) as pdf:
pdf.concat(True)
pdf.save(filename=pdf_path[:-3] + "png")
关于python魔杖错误 "wand.resource.DestroyedResourceError: <wand.image.Image: (closed)> is destroyed already",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54192110/
我正在尝试运行一个脚本,该脚本将遍历特定文件夹并使用 Wand 为其在该文件夹中找到的每个 .pdf 文件创建一个 .png 文件。 from wand.image import Image impo
我是一名优秀的程序员,十分优秀!