python - 使用 PyPDF4 编写 pdf 后出现 WAND 异常
问题描述
我需要添加一个从 PDF 中删除空白页的功能。我有以下代码:
def remove_blank_page(self, file, config, ocr, files):
tmp_folder = tempfile.mkdtemp(dir=config.cfg['GLOBAL']['tmppath'], prefix='blank_detection_')
tmp_filename = tmp_folder + '/tmp-%03d.jpg'
self.save_img_with_wand(file, tmp_filename)
doc = open('test.pdf', 'rb')
pdf_reader = PyPDF4.PdfFileReader(doc)
pdf_writer = PyPDF4.PdfFileWriter()
for page in range(0, pdf_reader.numPages):
current_page = tmp_folder + '/tmp-%03d' % (page + 1) + '.jpg'
if not self.is_blank_page(current_page):
current_pdf = pdf_reader.getPage(page)
pdf_writer.addPage(current_pdf)
with open(file, "wb") as stream:
pdf_writer.write(stream)
我创建 PDF 没有问题,但是当我想使用 WAND 将其转换为 JPG 时,出现以下错误:
wand.exceptions.WandRuntimeError: MagickReadImage returns false, but did not raise ImageMagick exception. This can occur when a delegate is missing, or returns EXIT_SUCCESS without generating a raster.
这是魔杖部分:
def save_img_with_wand(self, pdf_name, output):
try:
with Img(filename=pdf_name, resolution=self.resolution) as pic:
library.MagickResetIterator(pic.wand)
pic.scene = 1 # Start cpt of filename at 1 instead of 0
pic.compression_quality = self.compressionQuality
pic.background_color = Color("white")
pic.alpha_channel = 'remove'
pic.save(filename=output)
except (PolicyError, CacheError) as e:
self.Log.error('Error during WAND conversion : ' + str(e))
如果我绕过该remove_blank_page
功能,Wand 没有错误,所以我想知道我做错了什么......
提前致谢
解决方案
推荐阅读
- python - 如何在 django 的布尔字段中添加单选按钮
- r - 将时间从数字转换为 HMS 格式
- mysql - XAMPP 中的 MySQL 不再启动。端口不是问题
- azure-data-factory - ADF 动态参数 - 错误:验证签名失败,因为内容被篡改
- android - 如何android ksoap2发送文件
- amazon-web-services - 在 aws ec2 服务器上使用 url 访问图像
- vhdl - 将 std_logic_vector 转换为 VHDL 中的枚举类型
- python - 使用多处理时,输入函数在 python 中过早结束
- algorithm - 给定一些四舍五入的数字,如何找到原始分数?
- html - 具有粘性位置的标题自动隐藏