pdfminer.six

pdfminerMIT更新放缓

纯 Python 实现的 PDF 解析库,能从 PDF 中提取文本、布局和元数据,适合做文档解析、内容抽取和 RAG 数据预处理。

Community maintained fork of pdfminer - we fathom PDF

20260107发布于 2026-01-07 13:29 UTC7,049star +2 / 7 天1,054fork同步于 2026-11-10 17:34 UTC

怎么上手

由 README 提炼,执行前请确认
pip install pdfminer.six
pdf2txt.py example.pdf
硬件要求按 README 说明

README 未说明,纯 Python 实现,未提及 GPU 或显存要求

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

纯 Python 的 PDF 解析库,直接从 PDF 源码提取文本及其位置、字体和颜色信息

纯 Python 实现的 PDF 解析库,能从 PDF 中提取文本、布局和元数据,适合做文档解析、内容抽取和 RAG 数据预处理。

核心能力

  • 直接从 PDF 源码提取文本,并获取精确位置、字体与颜色
  • 支持输出 text、images、html 与 hOCR 多种格式
  • 支持 CJK 语言与竖排书写
  • 支持 Type1、TrueType、Type3、CID 多种字体
  • 支持 RC4 与 AES 加密及 AcroForm 表单提取

容易踩的坑

需 Python 3.10 或更新版本;提取图片需额外安装 pip install 'pdfminer.six[image]';README 称对 PDF-1.7 规范仅做到「几乎」完整支持

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本20260107
  1. 20260107最新正式版2026-01-07 · 2026-01-07 13:29 UTC

    Added

    • Support cmap types 6, 10 and 12 (#598)

    Fixed

    • Encapsulate error when failing to get attribute or data from stream (#1225, #1226)
    • Validate maximum size of xref start (#1227)
    • Use lazy %-style formatting for logging (#1234)

    Removed

    • Unused methods close, tell and poll on PSBaseParser (#1230)
  2. 202512302025-12-30 · 2025-12-30 15:49 UTC
    查看更新说明

    Security

    • Eliminated arbitrary code execution vulnerability (CVE-2025-64512) by replacing pickle CMap storage with json - users with custom pickle CMaps can use tools/convert_cmaps_to_json.py to convert to JSON format (#1172))
  3. 202512292025-12-29 · 2025-12-29 20:16 UTC
    查看更新说明

    Added

    • Support for colored and uncolored tiling patterns per ISO 32000 (#1170)
    • Pre-commit hooks for automated code quality checks (#1214)
    • Ruff rules for for modernized Python syntax (#1216, #1218)

    Changed

    • Using makefile instead of nox for local development (#1222)

    Fixed

    • Fix struct.error when processing PDFs with odd-length font encoding buffers (#1169)
    • PSBaseParser combines tokens split across streams (#1158)
    • Improve exception handling in PDFDocument with more precise error propagation (#1220)
  4. 202512282025-12-28 · 2025-12-28 14:32 UTC
    查看更新说明

    Added

    • Support for colored and uncolored tiling patterns per ISO 32000 (#1170)

    Fixed

    • Fix struct.error when processing PDFs with odd-length font encoding buffers (#1169)
    • PSBaseParser combines tokens split across streams (#1158)
  5. 202512272025-12-27 · 2025-12-27 20:16 UTC
    查看更新说明

    Added

    • Support for Python 3.14 (#1209)

    Changed

    • Refuse to execute circular references to content streams (including Form XObjects) (#1143)

    Fixed

    • IndexError when saving image with no filters`` (#1117)
    • Copying color space scs and ncs (#1140)

    Removed

    • Support for Python 3.9 (#1208)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    pdfminer.six

    Continuous integration PyPI version gitter

    We fathom PDF

    Pdfminer.six is a community maintained fork of the original PDFMiner. It is a tool for extracting information from PDF documents. It focuses on getting and analyzing text data. Pdfminer.six extracts the text from a page directly from the sourcecode of the PDF. It can also be used to get the exact location, font or color of the text.

    It is built in a modular way such that each component of pdfminer.six can be replaced easily. You can implement your own interpreter or rendering device that uses the power of pdfminer.six for other purposes than text analysis.

    Check out the full documentation on Read the Docs.

    Features

    • Written entirely in Python.
    • Parse, analyze, and convert PDF documents.
    • Extract content as text, images, html or hOCR.
    • Support for PDF-1.7 specification (well, almost).
    • Support for CJK languages and vertical writing.
    • Support for various font types (Type1, TrueType, Type3, and CID) support.
    • Support for extracting embedded images (JPG, PNG, TIFF, JBIG2, bitmaps).
    • Support for decoding various compressions (ASCIIHexDecode, ASCII85Decode, LZWDecode, FlateDecode, RunLengthDecode, CCITTFaxDecode)
    • Support for RC4 and AES encryption.
    • Support for AcroForm interactive form extraction.
    • Table of contents extraction.
    • Tagged contents extraction.
    • Automatic layout analysis.

    How to use

    • Install Python 3.10 or newer.

    • Install pdfminer.six.

      pip install pdfminer.six
      
      
    • (Optionally) install extra dependencies for extracting images.

      pip install 'pdfminer.six[image]'
      
      
    • Use the command-line interface to extract text from pdf.

      pdf2txt.py example.pdf
      
      
    • Or use it with Python.

      from pdfminer.high_level import extract_text
      
      text = extract_text("example.pdf")
      print(text)
      

    Contributing

    We welcome contributions! Whether you want to fix a bug, add a feature, or improve documentation, your help is appreciated.

    Please note that as a community-maintained project with limited maintainer availability, the best way to get an issue resolved is to submit a pull request yourself.

    To get started:

    1. Read CONTRIBUTING.md for setup instructions and coding standards
    2. Check out the open issues to find something to work on
    3. Join the discussion on Gitter if you have questions

    Acknowledgement

    This repository includes code from pyHanko ; the original license has been included here.