Marker 可以快速准确地将 PDF 转换为 markdown。

  • 支持广泛的文档(针对书籍和科学论文进行了优化)

  • 支持所有语言

  • 删除页眉/页脚/其他伪影

  • 设置表格和代码块的格式

  • 提取并保存图像以及 markdown

  • 将大多数方程式转换为乳胶

  • 适用于 GPU、CPU 或 MPS

安装

  1. 拉取项目

    git clone https://github.com/VikParuchuri/marker.git
  2. 进入项目目录执行:

    pip install marker-pdf

使用

  1. 转换单个文件

    marker_single /path/to/file.pdf /path/to/output/folder --batch_multiplier 2 --max_pages 10 --langs English
  • --batch_multiplier是如果您有额外的 VRAM 时将默认批处理大小乘以多少。数字越大,将占用更多的 VRAM,但处理速度更快。默认情况下设置为 2。默认批处理大小将占用 ~3GB 的 VRAM。

  • --max_pages是要处理的最大页数。省略此项可转换整个文档。

  • --langs是文档中以逗号分隔的语言列表,用于 OCR

  1. 转换多个文件

    marker /path/to/input/folder /path/to/output/folder --workers 10 --max 10 --metadata_file /path/to/metadata.json --min_length 10000
  • --workers是一次要转换的 PDF 数量。默认情况下,此值设置为 1,但您可以增加它以提高吞吐量,但代价是增加 CPU/GPU 使用率。如果您使用 GPU,并行度将不会增加。INFERENCE_RAM / VRAM_PER_TASK

  • --max是要转换的最大 PDF 数。省略此项可转换文件夹中的所有 pdf。

  • --min_length是在考虑处理 PDF 之前需要从中提取的最小字符数。如果您正在处理大量 pdf,我建议您设置此功能以避免对大部分是图像的 pdf 进行 OCR。(减慢一切速度)

  • --metadata_file是指向 JSON 文件的可选路径,其中包含有关 PDF 的元数据。如果您提供它,它将用于设置每个 pdf 的语言。如果没有,将被使用。格式为:DEFAULT_LANG

    {
      "pdf1.pdf": {"languages": ["English"]},
      "pdf2.pdf": {"languages": ["Spanish", "Russian"]},
      ...
    }