You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python代码将PDF转图片时文本区域出现方块的问题求助

PDF转图片出现方块的解决办法
  • 问题原因:你遇到的方块大概率是PDF里的表单域、注释或者交互元素被poppler默认渲染出来了——pdf2image依赖poppler处理PDF转图片,默认会包含这些非可视化的交互元素。
  • 解决方法:在convert_from_bytes函数中添加hide_annotations=True参数,就能隐藏这些导致方块的元素。

修改后的代码:

from io import BytesIO
import PyPDF2
from pdf2image import convert_from_bytes

# 假设file是包含PDF内容的InMemoryUploadedFile对象
pdf_content = file.read()

# 可选步骤:获取PDF页数
pdf_stream = BytesIO(pdf_content)
pdf_reader = PyPDF2.PdfFileReader(pdf_stream)
num_pages = pdf_reader.numPages

# 转换时添加hide_annotations=True参数隐藏交互元素
images = convert_from_bytes(
    pdf_content,
    poppler_path=r"C:\Python\poppler\poppler-23.07.0\Library\bin",
    hide_annotations=True
)

# 保存转换后的图片
for i, img in enumerate(images):
    img.save(f'PDF\\image_mods\\image_converted_{i + 1}.png', 'PNG')

补充说明:

  • 如果添加上述参数后仍有方块,可尝试额外添加use_cropbox=True,部分PDF的裁剪盒设置可能导致元素显示异常;
  • 注意文件路径中的反斜杠,使用双反斜杠或原始字符串可避免转义问题(你代码中的路径已用原始字符串,无需调整)。

内容的提问来源于stack exchange,提问作者user31731

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 04:17:35