PDF 文件中提取纯文本是数据分析、搜索索引和内容迁移的常见需求。 Aspose.PDF for Python via .NET 提供了强大的 SDK,使得在 Python 中轻松将 PDF 转换为 TXT。 在本指南中,您将学习如何设置库,逐步浏览完整的代码示例,探索配置选项,并应用最佳实践,以实现高效可靠的文本提取。

在 Python 中从 PDF 提取文本的步骤

  1. 安装 Aspose.PDF SDK: 使用 pip 将库添加到您的环境中。
pip install aspose-pdf
  1. 导入所需的类: 将 Document 和 TextAbsorber 类引入到脚本中。
import aspose.pdf as ap
  1. 加载 PDF 文档: 创建一个指向源文件的 Document 对象。
doc = ap.Document("sample.pdf")
  1. 使用 TextAbsorber 提取文本:初始化 TextAbsorber,让它处理所有页面,并检索文本。
absorber = ap.TextAbsorber()
doc.pages.accept(absorber)
extracted_text = absorber.text

TextAbsorber 类提供用于编码和布局保留的属性。

  1. 将提取的文本保存为 TXT 文件:使用 UTF‑8 将字符串写入磁盘,以保持特殊字符完整。
with open("output.txt", "w", encoding="utf-8") as txt_file:
    txt_file.write(extracted_text)

使用 Aspose.PDF 将 PDF 转换为 TXT - 完整代码示例

以下示例演示了一个最小的端到端实现,您可以将其适配到自己的项目中。

import aspose.pdf as ap

def convert_pdf_to_txt(input_path: str, output_path: str):
    # Load the PDF document
    document = ap.Document(input_path)

# Create a TextAbsorber to extract text
    absorber = ap.TextAbsorber()
    document.pages.accept(absorber)

# Retrieve the extracted text
    text = absorber.text

# Write the text to a .txt file using UTF‑8 encoding
    with open(output_path, "w", encoding="utf-8") as file:
        file.write(text)

if __name__ == "__main__":
    # Example usage
    convert_pdf_to_txt("sample.pdf", "sample.txt")

注意: 此代码示例演示了核心功能。在将其用于项目之前,请确保更新文件路径(sample.pdfsample.txt)以匹配实际文件位置,验证所有必需的依赖已正确安装,并在开发环境中彻底测试。如遇到任何问题,请参阅官方文档或联系支持团队获取帮助。

安装和配置 Aspose.PDF for Python via .NET

SDK 以 PyPI 包的形式分发。请从官方仓库下载最新版本,并使用 pip 安装它。

pip install aspose-pdf

您也可以直接从下载页面下载 wheel。该库需要 Python 3.6 或更高版本,并且在生产使用时需要有效的 Aspose 许可证。

配置 PDF 转 TXT 的提取选项

通过调整以下属性来微调提取过程:

  • 编码 - 设置 absorber.text_encoding 以处理特定字符集。
absorber.text_encoding = "utf-8"
  • Page Range - 将提取限制在页面子集以提高性能。
absorber.page_start = 1
absorber.page_end = 5
  • 保留布局 - 如果需要保留列结构,请启用 absorber.extract_text 并保持布局。
absorber.extract_text = True

这些选项是 API 参考中 TextAbsorber 类的一部分。

PDF 转 TXT 转换的最佳实践(Python)

  • 增量处理大型 PDF - 将页面分批提取,而不是一次性加载整个文档到内存中。
  • 使用 UTF‑8 编码 - 始终使用 UTF‑8 写入输出文件,以避免字符丢失,尤其是多语言 PDF。
  • 验证输入文件 - 在提取之前检查 PDF 是否受密码保护;如有必要,处理 PdfPasswordException
  • 释放资源 - 虽然 Python 的垃圾回收器会处理大多数对象,但完成后应显式关闭文件流。
  • 记录提取结果 - 记录已处理的页面数量以及任何警告,以帮助调试和监控。

结论

在 Python 中将 PDF 转换为 TXT 变得简单,只需使用 Aspose.PDF for Python via .NET。该 SDK 能处理复杂布局、Unicode 字符和大型文档,并通过其 API 提供细粒度的控制。安装包并按照分步指南操作后,您可以在任何 Python 应用程序中集成可靠的文本提取功能。请记得为生产环境获取合适的许可证;您可以查看 定价页面 了解选项,并获取 临时许可证 以在正式使用前评估 SDK。

常见问题

  • 如何使用 Aspose.PDF 在 Python 中将 PDF 转换为 TXT?
    使用 Document 类加载 PDF,应用 TextAbsorber 捕获文本,并将 absorber.text 写入 .TXT 文件。上面的完整代码示例演示了此工作流。

  • 如果我的 PDF 包含图像或扫描页怎么办?
    TextAbsorber 只提取可选择的文本。对于扫描的 PDF,请将 Aspose.PDF 与 Aspose.OCR for Python via .NET 结合使用,在提取之前执行 OCR。

  • 我可以一次批量转换多个 PDFs 吗?
    是的。将转换逻辑放在循环中,遍历文件路径列表。根据每个文档的需要调整 TextAbsorber 设置。

  • 商业项目是否需要许可证?
    生产部署需要使用 Aspose.PDF for Python via .NET 的授权版本。可提供临时许可证用于测试,详细定价请参阅 定价页面.

阅读更多