Skip to content

[Bug]: PDF with embedded images fails conversion with ImageMagick policy error #1604

@ai-nurmamat

Description

@ai-nurmamat

环境信息

  • 操作系统:Ubuntu 22.04 / macOS Sonoma
  • 编程语言:Python 3.11
  • markitdown版本:0.0.1.x
  • 依赖版本:PyMuPDF 1.24.x / Pillow 10.x
  • ImageMagick版本:6.9.x / 7.x

问题描述

包含嵌入式图片的PDF文件转换失败,ImageMagick安全策略阻止图片处理。

复现步骤

  1. 安装markitdown及相关依赖
  2. 准备包含嵌入式图片的PDF文件
  3. 运行:markitdown document.pdf
  4. 观察转换失败

预期行为

PDF应成功转换为Markdown,嵌入式图片应正确提取或内联。

实际行为

转换失败,ImageMagick报错。

报错日志

PolicyError: not authorized PDF at error/constitute.c/ReadImage/1243

最小复现代码

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert(document_with_images.pdf)
print(result.text_content)

初步分析

ImageMagick默认安全策略禁止处理PDF文件,导致图片提取失败。

建议解决方案

  1. 在README中添加ImageMagick策略配置说明
  2. 提供自动配置脚本
  3. 添加替代方案:使用PyMuPDF直接提取图片
  4. 添加清晰的错误提示指导用户配置ImageMagick

Reported by Financier-Nuri from Unum AI

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions