Skip to main content
本指南提供了快速入门 PDFMiner 文档加载器 的概览。有关所有 PDFMinerLoader 功能和配置的详细文档,请访问 API 参考

概述

集成详情


加载器功能

设置

凭证

使用 PDFMinerLoader 不需要任何凭证。 如果您想获得模型调用的自动化一流跟踪,也可以通过取消注释以下内容来设置您的 LangSmith API 密钥:

安装

安装 langchain-communitypdfminer

初始化

现在我们可以实例化模型对象并加载文档:

加载

延迟加载

元数据属性至少包含以下键:
  • source
  • page(如果在 page 模式下)
  • total_page
  • creationdate
  • creator
  • producer
其他元数据特定于每个解析器。 这些信息可能很有用(例如,用于对您的 PDF 进行分类)。

分割模式与自定义页面分隔符

加载 PDF 文件时,您可以通过两种不同的方式进行分割:
  • 按页面
  • 作为单个文本流
默认情况下,PDFMinerLoader 将按页面分割 PDF。

按页面提取 PDF。每一页被提取为一个 langchain 文档对象

在此模式下,PDF 按页面分割,生成的文档元数据包含页码。但在某些情况下,我们可能希望将 PDF 作为单个文本流进行处理(这样就不会将某些段落一分为二)。在这种情况下,您可以使用 single 模式:

将整个 PDF 提取为单个 langchain 文档对象

逻辑上,在此模式下,page_number 元数据消失了。以下是如何在文本流中清晰标识页面结束位置的方法:

添加自定义 pages_delimiter 以在 single 模式下标识页面结束位置

这可以简单地是 \n,或 \f 以清晰地指示页面更改,或 \<!-- PAGE BREAK --> 以便在 Markdown 查看器中无缝注入而没有视觉效果。

从 PDF 中提取图像

您可以使用三种不同的解决方案从 PDF 中提取图像:
  • rapidOCR(轻量级光学字符识别工具)
  • Tesseract(高精度 OCR 工具)
  • 多模态语言模型
您可以调整这些函数以在 htmlmarkdowntext 之间选择提取图像的输出格式。 结果插入在页面文本的最后和倒数第二段之间。

使用 rapidOCR 从 PDF 中提取图像

请注意,RapidOCR 旨在处理中文和英文,不支持其他语言。

使用 tesseract 从 PDF 中提取图像

使用多模态模型从 PDF 中提取图像

处理文件

许多文档加载器涉及解析文件。此类加载器之间的差异通常源于文件的解析方式,而不是文件的加载方式。例如,您可以使用 open 读取 PDF 或 markdown 文件的二进制内容,但需要不同的解析逻辑将该二进制数据转换为文本。 因此,将解析逻辑与加载逻辑解耦会很有帮助,这样无论数据如何加载,都可以更轻松地重用给定的解析器。 您可以使用此策略,使用相同的解析参数分析不同的文件。 可以从云存储处理文件。

使用 PDFMiner 生成 HTML 文本

这有助于将文本语义地分块为章节,因为输出的 html 内容可以通过 BeautifulSoup 解析,以获取有关字体大小、页码、PDF 页眉/页脚等的更结构化和丰富的信息。

API 参考

有关所有 PDFMinerLoader 功能和配置的详细文档,请访问 API 参考