冰蓝科技
|
028-81705109
|
|
微信扫一扫
|

Spire.Cloud 纯前端文档控件

Spire.PDF 9.10.2 已发布。本次更新新增支持按阅读顺序获取分栏文档的文本坐标、为 PdfStringFormat 设置 HorizontalScalingFactor 属性以及在转换有权限密码的PDF时设置是否允许转换。同时该版本还增强了 OFD 到 PDF 的转换。此外,一些已知问题也在该版本种得到修复,如提取的表格数据格式不正确的问题。详情请阅读以下内容。

新功能:

问题修复:


获取 Spire.PDF 9.10.2请点击:

https://www.e-iceblue.cn/Downloads/Spire-PDF-NET.html

PDF 文档的比较功能能够帮助用户实现高效的文档管理。通过比较 PDF 文档,用户可以轻松识别文档内容的差异,对文档有更全面的了解,从而更方便地对文档内容进行修改和整合。本文将介绍如何使用 Spire.PDF for Java 通过 Java 程序比较 PDF 文档并找出文档内容的差异。

安装 Spire.PDF for Java

首先,您需要在 Java 程序中添加 Spire.Pdf.jar 文件作为依赖项。JAR 文件可以从此链接下载。如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而在应用程序中导入 JAR 文件。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>11.11.11</version>
    </dependency>
</dependencies>

将用于比较的两个 PDF 文档的示例:

Java 比较 PDF 文档

比较两个 PDF 文档

Spire.PDF for Java 提供了 PdfComparer 类来表示 PDF 文档比较器。用户可以使用两个 PdfDocument 类对象创建 PdfComparer 类的对象,从而创建对两个文档进行比较的比较器。创建好 PdfComparer 类的对象后,用户可使用 PdfComparer.compare(String fileName) 方法对两个文档进行比较,并将比较结果保存到新的 PDF 文件。

生成的比较结果 PDF 文档左右会两边分别显示两个原始文档,删除的项目用红色显示在左边,添加的项目用黄色显示在右边。

比较两个 PDF 文档的详细操作步骤如下:

  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.comparison.PdfComparer;

public class ComparePDF {
    public static void main(String[] args) {
        //创建一个PdfDocument类对象并加载一个PDF文档
        PdfDocument pdf1 = new PdfDocument();
        pdf1.loadFromFile("示例1.pdf");

        //创建另一个PdfDocument类对象并加载另一个PDF文档
        PdfDocument pdf2 = new PdfDocument();
        pdf2.loadFromFile("示例2.pdf");

        //创建一个PdfComparer类的对象
        PdfComparer comparer = new PdfComparer(pdf1, pdf2);

        //比较两个PDF 档并将比较结果保存到一个新文档中
        comparer.compare("比较结果.pdf");
    }
}

Java 比较 PDF 文档

比较两个 PDF 文档的指定页面范围

在对文档进行比较之前,还可以使用 PdfComparer.getOptions().setPageRanges() 方法来限制要比较的页面范围。具体操作步骤如下:

  • Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.comparison.PdfComparer;

public class ComparePDFPageRange {
    public static void main(String[] args) {
        //创建一个PdfDocument类的对象并加载一个PDF文档
        PdfDocument pdf1 = new PdfDocument();
        pdf1.loadFromFile("示例1.pdf");

        //创建另一个PdfDocument类的对象并加载另一个PDF文档
        PdfDocument pdf2 = new PdfDocument();
        pdf2.loadFromFile("示例2.pdf");

        //创建一个PdfComparer类的对象
        PdfComparer comparer = new PdfComparer(pdf1, pdf2);

        //设置要比较的页面范围
        comparer.getOptions().setPageRanges(1, 1, 1, 1);

        //比较这两个PDF文档并将比较结果保存到一个新文档中
        comparer.compare("比较结果.pdf");
    }
}

Java 比较 PDF 文档

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

对于许多使用 Python 编程语言的开发人员来说,创建、读取和编辑 Word 文档是一个常见需求。无论是生成报告、操作现有文档还是自动化文档创建,通过程序来处理 Word 文档可以极大地提高工作效率。本文将介绍如何使用 Spire.Doc for Python 在 Python 程序中创建、读取或编辑 Word 文档

安装 Spire.Doc for Python

本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.Doc

如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python

用 Python 新建 Word 文档

Spire.Doc for Python 提供了 Document 类用于表示 Word 文档模型。文档必须至少包含一个节(由 Section 类表示),每个节都是各种元素(如段落、表格、图表和图像)的容器。此示例将展示如何使用 Spire.Doc for Python 创建一个包含多个段落的简单 Word 文档。

  • Python
from spire.doc import *
from spire.doc.common import *

# 创建一个 Document 类的对象
doc = Document()

# 添加一个节
section = doc.AddSection()

# 设置页面边距
section.PageSetup.Margins.All = 40

# 添加一个标题
titleParagraph = section.AddParagraph()
titleParagraph.AppendText("Spire.Doc for Python 简介")

# 添加两个段落
bodyParagraph_1 = section.AddParagraph()
bodyParagraph_1.AppendText("Spire.Doc for Python 是专为开发人员设计的专业 Python 库,可在任何 Python 应用程序中创建、读取、写入、转换、比较和打印 Word 文档,处理速度快且质量高。")

bodyParagraph_2 = section.AddParagraph()
bodyParagraph_2.AppendText("作为独立的 Word Python API,Spire.Doc for Python 不需要在开发系统或目标系统上安装 Microsoft Word,而可以将 Microsoft Word 文档创建能力整合到任何 Python 应用程序中。")

# 应用标题1样式到标题段落
titleParagraph.ApplyStyle(BuiltinStyle.Heading1)

# 创建样式用于段落
style2 = ParagraphStyle(doc)
style2.Name = "paraStyle"
style2.CharacterFormat.FontName = "HarmonyOS Sans SC"
style2.CharacterFormat.FontSize = 13
doc.Styles.Add(style2)
bodyParagraph_1.ApplyStyle("paraStyle")
bodyParagraph_2.ApplyStyle("paraStyle")

# 设置段落的水平对齐方式
titleParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center
bodyParagraph_1.Format.HorizontalAlignment = HorizontalAlignment.Left
bodyParagraph_2.Format.HorizontalAlignment = HorizontalAlignment.Left

# 设置段落之间的间距
titleParagraph.Format.AfterSpacing = 10
bodyParagraph_1.Format.AfterSpacing = 10

# 保存到文件
doc.SaveToFile("output/Word文档.docx", FileFormat.Docx2019)

Python 创建、读取或编辑 Word 文档

用 Python 读取 Word 文档

使用 Document.GetText() 方法即可直接提取出 Word 文档中的所有文本内容。以下是详细操作步骤。

  • Python
from spire.doc import *
from spire.doc.common import *

# 创建一个 Document 类的对象
doc = Document()

# 加载一个 Word 文件
doc.LoadFromFile("https://cdn.e-iceblue.cn/output/Word文档.docx")

# 从整个文档中获取文本
text = doc.GetText()

# 打印文本
print(text)

Python 创建、读取或编辑 Word 文档

用 Python 编辑 Word 文档

Spire.Doc for Python 提供的 Section.Paragraphs[index] 属性可以获取 Word 文档中的指定段落。如果要修改段落的文本,则可以通过 Paragraph.Text 属性为段落重新分配文本。以下是详细操作步骤。

  • Python
from spire.doc import *
from spire.doc.common import *

# 创建一个 Document 对象
doc = Document()

# 加载一个 Word 文件
doc.LoadFromFile("https://cdn.e-iceblue.cn/output/Word文档.docx")

# 获取特定的章节
section = doc.Sections[0]

# 获取特定的段落
paragraph = section.Paragraphs[1]

# 更改段落的文本
paragraph.Text = "标题已更改"

# 保存到文件
doc.SaveToFile("output/编辑Word文档.docx", FileFormat.Docx2019)

Python 创建、读取或编辑 Word 文档

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

使用Python实现Word到HTML转换

Word 是办公中常用的文档格式,而 HTML 是网页内容展示的标准语言。将 Word (.doc或.docx)文档精准转换为 HTML 格式,可以方便地将内容嵌入到网站、内容管理系统或邮件模板中。这种转换尤其适合用于知识库、产品说明、服务协议等需要以网页形式展示文档内容的场景。

本文将介绍如何使用 Spire.Doc for Python在Python中实现 Word 到 HTML 的格式转换。内容涵盖基础转换与自定义转换两种实现方式,并提供完整的代码示例,帮助开发者灵活应对不同项目对 HTML 输出的样式与结构控制需求。

目录

Word 转 HTML 的常见应用场景

将 Word 文档转换为 HTML 格式,适用于多种业务场景,例如:

  • 网页展示:将 Word 内容直接展示在网页中,用户无需下载,即可在浏览器中查看文档。
  • CMS 系统导入:将 Word 撰写的内容导入内容管理系统(CMS)进行后续编辑、发布。
  • 在线预览:为 Word 附件或文档库生成 HTML 格式的在线预览,提高访问效率。
  • 邮件模板生成:将 DOCX 文档内容转换为 HTML,可作为邮件正文模板嵌入发送系统。

安装Python Word转HTML库

Spire.Doc for Python 是一款专为 Word 文档处理与格式转换而设计的库。该库功能稳定、易于使用,可在不依赖 Microsoft Word 或 Office 的情况下,将 Word 文档精准导出为 HTML,并保持文档原有的样式与布局。

使用 Spire.Doc 的优势

  • 保留完整格式:支持字体、颜色、段落样式、表格、图片等多种元素的高保真转换。
  • 完全脱离 Office 环境:不依赖 Microsoft Word 或 Office Interop,支持跨平台部署。
  • 兼容多种文档格式:支持读取和导出 DOCX(Word 2007及以上格式)与 DOC(Word 97 – 2003格式)到HTML。
  • 导出结果可自定义:可自定义 HTML 中是否嵌入图片、是否输出页眉页脚、CSS 样式使用方式等。

安装方式

在终端中运行以下pip命令即可完成安装:

pip install spire.doc

如需详细安装指导,请参考教程:如何在Windows上安装Spire.Doc for Python

Python 实现 Word 转 HTML 的方法

Spire.Doc for Python 支持将 Word 文档以默认或自定义设置转换为 HTML,满足快速导出或样式精细控制等不同需求。下文将分别对这两种实现方式进行详细介绍。

快速导出(默认设置)

如果仅需将 Word 内容一键转换为 HTML 文件,且不涉及样式修改或结构调整,可通过 LoadFromFile 方法加载 Word 文档,并直接使用 SaveToFile 方法将其保存为 HTML 格式。

Word转HTML 代码示例

from spire.doc import *
from spire.doc.common import *

# 创建 Document 对象
document = Document()
# 加载 Word 文档(支持 DOC 和 DOCX)
document.LoadFromFile("清单.docx")

# 保存为 HTML 格式
document.SaveToFile("Output/Word转Html.html", FileFormat.Html)

# 关闭文档释放资源
document.Close()

使用Spire.Doc将 Word 文档导出为 HTML 的输出示意图

自定义导出选项(高级设置)

若对 HTML 输出的结构与样式有更高的控制需求,可通过 Spire.Doc 提供的 HtmlExportOptions 属性进行自定义配置。通过该属性,开发者可以灵活设置是否保留页眉页脚,是否嵌入图片,CSS 的引用方式,以及表单字段的导出形式等,从而实现更精细的页面布局与资源管理,满足复杂项目对 HTML 格式的个性化要求。

自定义Word到HTML导出选项代码示例

from spire.doc import *
from spire.doc.common import *

# 创建 Document 实例
document = Document()

# 加载 Word 文件
document.LoadFromFile("清单.docx")

# 设置:导出时不包含页眉和页脚
document.HtmlExportOptions.HasHeadersFooters = False

# 设置:指定导出 HTML 使用的外部 CSS 文件名
document.HtmlExportOptions.CssStyleSheetFileName = "sample.css"

# 设置:样式类型为外部引用(非内联)
document.HtmlExportOptions.CssStyleSheetType = CssStyleSheetType.External

# 设置:图片不嵌入 HTML 中,保存在指定文件夹中
document.HtmlExportOptions.ImageEmbedded = False
document.HtmlExportOptions.ImagesPath = "Images/"

# 设置:将表单字段以纯文本形式导出,而不是交互式控件
document.HtmlExportOptions.IsTextInputFormFieldAsText = True

# 保存为 HTML 文件
document.SaveToFile("Output/自定义Word转Html.html", FileFormat.Html)
document.Close()

总结

本文介绍了如何使用 Spire.Doc for Python 将 Word(.doc/.docx)文档精准转换为 HTML 格式,适用于网页展示、CMS 内容导入、邮件模板生成等多种场景。无论是通过快速导出方式实现一键式转换,还是利用自定义导出选项对样式和结构进行精细控制,开发者都可以根据具体项目需求,灵活选择合适的转换方式。
此外,Spire.Doc 还支持 Word 转 PDFWord 文档合并查找与替换内容等多种操作,您可以进一步阅读相关教程,深入掌握 Word 文档处理技巧。

常见问题解答(FAQs)

Q1:Spire.Doc 是否支持将 DOC 和 DOCX 两种格式转换为 HTML?
A1:支持,Spire.Doc 可兼容旧版 DOC 和现代 DOCX 格式的导出。

Q2:转换过程中是否必须安装 Microsoft Word?
A2:不需要,Spire.Doc 是一个独立运行的库,无需依赖 Word 或 Office。

Q3:转换时是否可以将图片嵌入 HTML 中,而非单独保存?
A3:可以,只需将 ImageEmbedded 属性设置为 True,即可将所有图片嵌入到 HTML 文件中,无需创建额外图片目录。

Q4:Spire.Doc for Python是否支持跨平台运行?
A4:支持。该库不依赖 Office,能够在Windows、Linux和MacOS等多种操作系统和环境中稳定运行。

获取免费授权

如需体验 Spire.Doc for .NET 的完整功能(无评估限制),你可以该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。免费 30 天试用授权。

Spire.XLS for Java 13.10.0已发布。该版本新增支持验证限制编辑的密码是否正确的方法。同时,也增强了从Excel到PDF、图像和OFD格式的转换功能。此外,一些已知问题也在该版本中被成功修复,如加载Excel文档时,程序抛出“Invalid ValidationAlertType string val"的问题。详情请阅读以下内容。

新功能:

问题修复:


获取Spire.XLS for Java 13.10.0请点击:

https://www.e-iceblue.cn/Downloads/Spire-XLS-JAVA.html

编辑限制是 Word 文档中的一项安全功能,可以限制他人能对文档所做的修改。通过应用编辑限制,文档所有者可以指定可对文档进行哪种类型的编辑,以及可在文档的哪些部分进行编辑,保护文档内容和格式的完整,从而方便进行协作编辑和信息收集等。本文将介绍如何使用 Spire.Doc for Python 在 Python 程序中限制对 Word 文档的编辑以及移除 Word 文档编辑限制

安装 Spire.Doc for Python

本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.Doc

如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python

使用密码限制对整个 Word 文档的编辑

Word 文档中有四种编辑限制:不允许任何更改(只读)、修订、批注和填写窗体。Spire.Doc for Python 提供了 Document.Protect() 方法和 ProtectionType 枚举来对 Word 文档设置指定类型的编辑限制。

下表是 ProtectionType 枚举和对应编辑限制类型及说明:

枚举 编辑限制类型 说明
ProtectionType.AllowOnlyReading 不允许任何更改(只读) 只允许阅读文档
ProtectionType.AllowOnlyRevisions 修订 只允许修订文档
ProtectionType.AllowOnlyComments 批注 只允许添加评论
ProtectionType.AllowOnlyFormFields 填写窗体 只允许填写表单
ProtectionType.NoProtection 无编辑限制
  • Python
from spire.doc import *
from spire.doc.common import *

# 创建一个Document类对象
doc = Document()

# 加载一个Word文档
doc.LoadFromFile("示例.docx")

# 将编辑限制类型设置为只读(无更改)
doc.Protect(ProtectionType.AllowOnlyReading, "password")

# 将编辑限制类型设置为修订
# doc.Protect(ProtectionType.AllowOnlyRevisions, "password")

# 将编辑限制类型设置为批注
# doc.Protect(ProtectionType.AllowOnlyComments, "password")

# 将编辑限制类型设置为填写窗体
# doc.Protect(ProtectionType.AllowOnlyFormFields, "password")

# 保存文档
doc.SaveToFile("output/编辑限制.docx")
doc.Close()

Python 设置或取消 Word 文档编辑限制

设置 Word 文档编辑限制时添加可编辑区域

在设置 Word 文档的编辑限制时,用户可以通过插入允许编辑区域的起始和结束标记来添加例外项(不受限制的区域)。具体操作步骤如下:

  • Python
from spire.doc import *
from spire.doc.common import *

# 创建一个Document类对象
doc = Document()

# 加载一个Word文档
doc.LoadFromFile("示例.docx")

# 获取第一节
section = doc.Sections.get_Item(0)

# 创建权限起始标记和结束标记
start = PermissionStart(doc, "exception1")
end = PermissionEnd(doc, "exception1")

# 将权限起始标记和结束标记插入到第一节中
paragraph = section.Paragraphs.get_Item(1)
paragraph.ChildObjects.Insert(0, start)
paragraph.ChildObjects.Add(end)

# 设置编辑限制
doc.Protect(ProtectionType.AllowOnlyReading, "password")

# 保存文档
doc.SaveToFile("output/可编辑区域.docx")
doc.Close()

Python 设置或取消 Word 文档编辑限制

移除 Word 文档种的编辑限制

取消文档的编辑限制时,只需使用 Document.Protect() 方法将编辑限制类型设置为无即可。具体步骤如下:

  • Python
from spire.doc import *
from spire.doc.common import *

# 创建一个Document类对象
doc = Document()

# 加载一个Word文档
doc.LoadFromFile("https://cdn.e-iceblue.cn/output/编辑限制.docx")

# 通过将限制类型设置为无限制来移除编辑限制
doc.Protect(ProtectionType.NoProtection)

# 保存文档
doc.SaveToFile("output/移除编辑限制.docx")
doc.Close()

Python 设置或取消 Word 文档编辑限制

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

TXT 文本文件是一种存储纯文本数据的简单、通用且易于处理的文件格式。如果想要在文本文件中应用格式或添加图片、图表、表格和其他媒体元素,推荐的方案是将它们转换为 Word 文件。

反之,如果想要有效地提取 Word 文档的内容或减小文件大小,可以将它们转换为文本格式。本文将演示如何使用 Spire.Doc for Python 通过代码实现 Word 文档和 TXT 纯文本文件的互转

安装 Spire.Doc for Python

本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。

pip install Spire.Doc

如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python

Python 将 TXT 文本转换为 Word

TXT 文件转换为 Word 文档的操作十分简单,仅需几行代码即可实现。具体步骤如下。

  • Python
from spire.doc import *
from spire.doc.common import *

# 创建Document类的对象
document = Document()

# 加载文本文件
document.LoadFromFile("示例.txt")

# 将文本文件保存为Word
document.SaveToFile("Output/Txt转Word.docx", FileFormat.Docx2016)
document.Close()

Python 将 TXT 转换为 Word 或将 Word 转换为 TXT

Python 将 Word 转换为 TXT 文本

Spire.Doc for Python 提供的 Document.SaveToFile(string fileName, FileFormat.Txt) 方法可将 Word 文件导出为 TXT 纯文本格式。具体步骤如下。

  • Python
from spire.doc import *
from spire.doc.common import *

# 创建Document类的对象
document = Document()

# 加载Word文件
document.LoadFromFile("云计算.docx")

# 将Word文件保存为txt格式
document.SaveToFile("Output/Word转Txt.txt", FileFormat.Txt)
document.Close()

Python 将 TXT 转换为 Word 或将 Word 转换为 TXT

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

python提取pdf文本内容

PDF 文件作为一种通用且广泛使用的文档格式,常见于合同、发票、报告、电子书等多种场景。虽然 PDF 文件在排版和展示效果上表现出色,但由于其底层结构采用图层、对象和坐标的存储方式,导致从 PDF 中直接提取文本变得复杂且具有挑战性。

尤其面对包含大量页码、嵌套表格或图文混排的 PDF 文件时,传统的复制粘贴方法效率低下且难以保持文本的原始格式和结构。为了实现高效、精准的 PDF 文本提取,开发者通常借助专业的 Python PDF 解析库,通过编程方式自动读取并提取所需内容。

本教程将详细介绍如何使用 Spire.PDF for Python 库在 Python 中轻松 实现 PDF 文本的全面提取,包括全文提取、按页提取、按区域提取、过滤隐藏文本,以及获取文本在页面中的坐标和尺寸信息。通过本教程,您将掌握实用的 PDF 文本提取技巧,快速构建自动化处理和数据分析的解决方案。

目录

为什么要提取PDF文件内容

读取PDF文件内容在诸多应用场景中具有重要意义,例如:

  • 将数据提取出来用于统计和业务分析
  • 将不可编辑的PDF内容转换为可编辑格式
  • 提取文本以便进行多语言转换

安装PDF 解析库 – Spire.PDF for Python

Spire.PDF for Python 是一款功能全面且易于使用的 PDF 处理库,主要用于帮助开发者简化PDF文档创建和操作等任务。它提供了强大的文本提取功能,适用于解析各种结构的 PDF 文档。

安装方式

您可以通过在终端中运行以下命令轻松安装该库:

pip install spire.pdf

如需了解详细安装步骤,请参考此教程:如何在 Windows 上安装 Spire.PDF for Python

提取 PDF 文本(基础示例)

以下示例展示了如何快速提取 PDF 文档中的全部文本。该方法逐页遍历文档,提取每页文本,并将包含空格和换行的完整内容保存到文本文件,便于后续查看和处理。

  • Python
from spire.pdf.common import *
from spire.pdf import *

# 创建 PdfDocument 对象
doc = PdfDocument()

# 加载 PDF 文件
doc.LoadFromFile('C:/Users/Administrator/Desktop/in.pdf')

# 用于保存提取结果的变量
all_text = ""

# 创建 PdfTextExtractOptions 对象
extractOptions = PdfTextExtractOptions()
# 启用提取全部文本(包含空格)
extractOptions.IsExtractAllText = True

# 遍历每一页并提取文本
for i in range(doc.Pages.Count):
    page = doc.Pages.get_Item(i)
    textExtractor = PdfTextExtractor(page)
    text = textExtractor.ExtractText(extractOptions)
    all_text += text + "\n"

# 将提取的文本写入文件
with open('output/Extracted.txt', 'w', encoding='utf-8') as file:
    file.write(all_text)

doc.Close()

自定义文本提取设置

Spire.PDF for Python 提供了多种灵活的文本提取选项,适用于不同场景下的 PDF 内容处理需求。例如,开发者可按页提取文本、限定区域提取内容、提取时过滤隐藏文字,还能获取文本在页面中的坐标位置与尺寸信息,便于精确定位与结构分析。

提取指定页面的文本

通过指定页面索引,开发者可以直接提取目标页的文本,而无需循环遍历整个文档。这种方式可以提高处理效率,适用于仅需要处理多页文档中的特定部分的场景。

  • Python
from spire.pdf.common import *
from spire.pdf import *

# 创建 PdfDocument 对象
doc = PdfDocument()

# 加载 PDF 文件
doc.LoadFromFile('C:/Users/Administrator/Desktop/in.pdf')

# 启用完整文本提取
extractOptions = PdfTextExtractOptions()
extractOptions.IsExtractAllText = True

# 获取第 1 页
page = doc.Pages.get_Item(0)

# 创建 PdfTextExtractor 对象
textExtractor = PdfTextExtractor(page)

# 提取文本
text = textExtractor.ExtractText(extractOptions)

# 写入文件
with open('output/Extracted.txt', 'w', encoding='utf-8') as file:
    file.write(text)

doc.Close()

Python获取PDF指定页的文本内容

获取指定区域的文本

获取指定区域的文本可以帮助用户精准提取所需内容,避免处理无关信息。您可以定义一个矩形区域,只提取该区域内的文本。

  • Python
from spire.pdf.common import *
from spire.pdf import *

# 创建 PdfDocument 对象
doc = PdfDocument()

# 加载 PDF 文件
doc.LoadFromFile('C:/Users/Administrator/Desktop/in.pdf')

# 获取第 1 页
page = doc.Pages[0]

# 创建 PdfTextExtractor 对象
textExtractor = PdfTextExtractor(page)

# 创建提取选项并设置提取区域
extractOptions = PdfTextExtractOptions()
extractOptions.ExtractArea = RectangleF(90.0, 220.0, 770.0, 130.0)

# 提取文本
text = textExtractor.ExtractText(extractOptions)

# 写入文件
with open('output/ExtractedArea.txt', 'w', encoding='utf-8') as file:
    file.write(text)

doc.Close()

Python获取PDF特定页面区域内的文本内容

提取时忽略隐藏文本

某些 PDF 包含隐藏或不可见的文本,例如为辅助功能或 OCR 层添加的内容。如果您只想提取对用户可见的内容,可以选择忽略这些隐藏文本。

  • Python
from spire.pdf.common import *
from spire.pdf import *

# 创建 PdfDocument 对象
doc = PdfDocument()

# 加载 PDF 文件
doc.LoadFromFile('C:/Users/Administrator/Desktop/in.pdf')

# 设置提取选项以忽略隐藏文本
extractOptions = PdfTextExtractOptions()
extractOptions.IsShowHiddenText = False

# 获取第 1 页
page = doc.Pages[0]

# 创建 PdfTextExtractor 对象
textExtractor = PdfTextExtractor(page)

# 提取文本
text = textExtractor.ExtractText(extractOptions)

# 写入文件
with open('output/ExcludeHiddenText.txt', 'w', encoding='utf-8') as file:
    file.write(text)

doc.Close()

提取文本及其位置(坐标)和尺寸信息

除了获取文本内容外,Spire.PDF还支持提取其在页面中的位置坐标和尺寸信息,以便进行精确批注、内容定位或页面结构分析。

  • Python
from spire.pdf.common import *
from spire.pdf import *

# 创建 PdfDocument 对象
doc = PdfDocument()

# 加载 PDF 文件
doc.LoadFromFile('C:/Users/Administrator/Desktop/in.pdf')

# 遍历所有页面
for i in range(doc.Pages.Count):
    page = doc.Pages[i]

    # 为当前页面创建 PdfTextFinder 对象
    finder = PdfTextFinder(page)

    # 查找所有文本片段
    fragments = finder.FindAllText()

    print(f"第 {i + 1} 页:")

    # 遍历文本片段并获取其在页面的位置和尺寸
    for fragment in fragments:
        text = fragment.Text
        rects = fragment.Bounds

        print(f'文本:"{text}"')

        for rect in rects:
            print(f"位置:({rect.X}, {rect.Y}),尺寸:({rect.Width} x {rect.Height})")

        print()

doc.Close()

总结

借助 Spire.PDF for Python,开发者可以高效、灵活地从 PDF 文件中提取文本。无论是解析整个文档,还是提取特定页面或区域的内容,该库都提供了强大且简便的解决方案。通过自动化文本提取,您可以显著提升工作效率,优化信息管理流程,并为后续的数据分析与业务决策提供有力支持。

想掌握更多 PDF 处理技巧?欢迎查看 【Python PDF 处理全系列教程】

常见问题解答(FAQs)

Q1:能否从加密的PDF文件中提取文本?

A1:可以。Spire.PDF for Python 支持在加载PDF时输入正确密码,从而打开受保护的PDF文件并提取其中的文本内容。

Q2:是否支持批量处理多个PDF文件并提取文本?

A2:支持。您可以通过循环遍历指定文件夹中的多个PDF文件,然后利用 Spire.PDF for Python 从每个文件中提取文本。

Q3:Spire.PDF for Python 是否支持从PDF中提取图片和表格?

A3:虽然本教程主要讲解文本提取,Spire.PDF for Python 同样支持从 PDF 中 提取图片表格,满足多样化的内容处理需求。

Q4:能否从扫描(基于图片)的PDF中提取文本?

A4:扫描版PDF文本提取需要借助OCR(光学字符识别)技术。Spire.PDF for Python 本身不内置OCR功能,但可以结合 Spire.OCR 库实现 图片转文本的精准识别。

获取免费许可证

如需完整体验 Spire.PDF for Python 的全部功能,可 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。(30 天无功能限制)。

Spire.Office 8.9.3 已发布。在该版本中,Spire.Presentation 8.9.4 支持设置幻灯片自动切换的时间以及设置和读取渐变停止样式的透明度和亮度;Spire.PDF 9.9.9 增强了 PDF 到图像以及 OFD 到 PDF 的转换;Spire.Doc 11.9.19 增强了 Word 和 HTML 到 PDF 的转换。此外,许多已知问题也在该版本中得到修复。详情请阅读以下内容。

该版本涵盖了最新版的 Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.Barcode, Spire.DataExport。

版本信息如下:

获取Spire.Office 8.9.3请点击:

https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html


Spire.Presentation

新功能:

问题修复:


Spire.PDF

问题修复:


Spire.Doc

问题修复:

尊敬的顾客朋友:

2023国庆节和中秋节将至,成都冰蓝科技有限公司全体职工在此向您致以最诚挚的祝福与问候!为满足节日期间的客户需求,我司就放假安排做出如下通知:

因放假给您带来的不便,我们深表歉意。

感谢您一直以来的支持与合作,祝您度过一个愉快的假期!

邮件地址: