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

Spire.Cloud 纯前端文档控件

当您想共享或展示文档内容但却担心出现跨设备兼容性问题时,将 Word 文档转换成图片是一个比较推荐的选择。通过将 Word 文档转换为图片,可以确保文本、图片和格式保持不变,是在社交媒体、网站或通过电子邮件共享文档的理想解决方案。在本文中,您将学习如何使用 Spire.Doc for Python 在 Python 中将 Word 转换为 PNG、JPEG 或 SVG 图片。

安装 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 转换为 PNG 或 JPEG

Spire.Doc for Python 提供的 Document.SaveImageToStream() 方法可将特定页面转换为位图(Bitmap)。然后,您可以将位图(Bitmap)再进一步保存为 PNG、JPEG 或 BMP 等常用图像格式。具体步骤如下。

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

# 创建Document对象
document = Document()

# 加载Word文档
document.LoadFromFile("工作汇报.docx")

# 遍历文档中的所有页面
for i in range(document.GetPageCount()):

    # 将指定页面转换为位图(bitmap)
    imageStream = document.SaveImageToStreams(i, ImageType.Bitmap)

    # 将位图(bitmap)保存为PNG文件
    with open('图片/图-{0}.png'.format(i),'wb') as imageFile:
        imageFile.write(imageStream.ToArray())

document.Close()

Python 将 Word 转换为图片

Python 将 Word 转换为 SVG

仅需使用 Document.SaveToFile() 方法即可将 Word 文档转换为多个 SVG 文件。具体步骤如下。

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

# 创建Document对象
document = Document()

# 加载Word文档
document.LoadFromFile("工作汇报.docx")

# 将其转换为 SVG 文件
document.SaveToFile("转SVG/ToSVG.svg", FileFormat.SVG)
document.Close()

Python 将 Word 转换为图片

申请临时 License

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

Spire.Cloud 8.10.9 已发布。在本次更新中,该版本修复了 Word 文档中内容显示不正确,以及页码显示不一致等多个已知问题。详情请阅读以下内容。

问题修复:


获取 Spire.Cloud 8.10.9 请点击:

https://cloud.e-iceblue.cn/index.php/privatization-download

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 提供的 Paragraph.AppendComment() 方法可用于为指定段落添加批注。而批注对应的文本范围需要使用批注开始标记和结束标记来控制。为段落添加批注的具体步骤如下:

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

# 创建一个 Document 类对象并加载一个 Word 文档
doc = Document()
doc.LoadFromFile("示例.docx")

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

# 获取第四段
paragraph = section.Paragraphs.get_Item(3)

# 向段落添加注释
comment = Comment(doc)
comment.Body.AddParagraph().Text = "缺乏对货币历史的讲述。"

# 设置注释的作者
comment.Format.Author = "丽雯"

paragraph.ChildObjects.Add(comment)

# 创建注释开始标记和结束标记,并将它们设置为创建的注释的开始和结束标记
commentStart = CommentMark(doc, CommentMarkType.CommentStart)
commentEnd = CommentMark(doc, CommentMarkType.CommentEnd)
commentStart.CommentId = comment.Format.CommentId
commentEnd.CommentId = comment.Format.CommentId

# 在段落的开头和结尾分别插入注释开始标记和结束标记
paragraph.ChildObjects.Insert(0, commentStart)
paragraph.ChildObjects.Add(commentEnd)

# 保存文档
doc.SaveToFile("output/批注段落.docx")
doc.Close()

***

Python 添加批注到 Word 文档中的文本

Spire.Doc for Python 还支持查找指定文本并为其添加批注。具体步骤如下:

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

# 创建一个 Document 类的对象并加载一个 Word 文档
doc = Document()
doc.LoadFromFile("示例.docx")

# 查找要添加评论的文本
text = doc.FindString("交换媒介", True, True)

# 创建一个评论对象并设置评论的内容和作者
comment = Comment(doc)
comment.Body.AddParagraph().Text = "交换媒介还包括商品交换、信贷和资产交换等。"
comment.Format.Author = "琳达"

# 将找到的文本作为文本范围,并获取其所属的段落
range = text.GetAsOneRange()
paragraph = range.OwnerParagraph

# 将评论添加到段落中
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range) + 1, comment)

# 创建评论起始标记和结束标记,并将它们设置为创建的评论的起始标记和结束标记
commentStart = CommentMark(doc, CommentMarkType.CommentStart)
commentEnd = CommentMark(doc, CommentMarkType.CommentEnd)
commentStart.CommentId = comment.Format.CommentId
commentEnd.CommentId = comment.Format.CommentId

# 在找到的文本之前和之后插入创建的评论起始和结束标记
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range), commentStart)
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range) + 1, commentEnd)

# 保存文档
doc.SaveToFile("output/批注文本.docx")
doc.Close()

***

Python 从 Word 文档中删除批注

Spire.Doc for Python 为删除批注提供了 Document.Comments.RemoveAt() 方法和 Document.Clear() 方法,前者可用于删除指定的批注,后者可删除所有批注。移除批注的详细步骤如下:

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

# 创建一个 Document 类对象并加载一个 Word 文档
doc = Document()
doc.LoadFromFile("示例1.docx")

# 移除第二个注释
doc.Comments.RemoveAt(1)

# 移除所有注释
#doc.Comments.Clear()

# 保存文档
doc.SaveToFile("output/删除批注.docx")
doc.Close()

***

Python 在 Word 文档中回复批注

Spire.Doc for Python 还支持通过 Comment.ReplyToComment(Comment) 方法将一条批注设置为对另一条批注的回复,从而实现在 Word 文档中对指定批注进行回复。具体步骤如下:

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

# 创建一个 Document 类对象并加载一个 Word 文档
doc = Document()
doc.LoadFromFile("output/批注文本.docx")

# 获取一个注释
comment = doc.Comments.get_Item(0)

# 创建一个回复注释并设置其内容和作者
reply = Comment(doc)
reply.Body.AddParagraph().Text = "我们将提供有关货币历史的更多细节。"
reply.Format.Author = "莫里"

# 将创建的注释设置为获取到的注释的回复
comment.ReplyToComment(reply)

# 保存文档
doc.SaveToFile("output/回复批注.docx")
doc.Close()

***

申请临时 License

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

除了文本内容外,PDF 文件中的图片在有效传达信息方面也发挥着重要作用。在 PDF 文档中对图片进行添加、替换、删除等操作,对于增强视觉吸引力、更新过时的图片或修改文档内容非常有帮助。在本文中,您将学习如何使用 Spire.PDF for Python 在 Python 中添加、替换、删除和提取 PDF 文档中的图片。

安装 Spire.PDF for Python

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

pip install Spire.PDF

如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.PDF for Python

Python 在 PDF 文件中添加图片

要在 PDF 页面中添加图片,可以使用 PdfPage.Canvas.DrawImage() 方法。具体步骤如下:

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

# 创建PdfDocument对象
doc = PdfDocument()

# 设置页边距
doc.PageSettings.SetMargins(30.0, 30.0, 30.0, 30.0)

# 添加一页
page = doc.Pages.Add()

# 加载图片
image = PdfImage.FromFile("logo.png")

# 指定图片大小
width = image.Width * 0.50
height = image.Height * 0.50

# 在页面指定位置绘制图像
x = 10.0
y = 30.0
page.Canvas.DrawImage(image, x, y, width, height)

# 保存结果文件
doc.SaveToFile("添加图片.pdf", FileFormat.PDF)

Python 添加、替换、删除和提取 PDF 中的图片

Python 替换 PDF 文件中的图片

Spire.PDF for Python 提供了 PdfImageHelper 类来操作处理图片,要用新图片替换 PDF 中的已有图片,可以使用 PdfImageHelper.ReplaceImage() 方法。具体步骤如下:

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


# 创建PdfDocument对象
pdf = PdfDocument()

# 加载PDF文件
pdf.LoadFromFile("添加图片.pdf")

# 获取第一页
page = pdf.Pages.get_Item(0)

# 加载图片
image = PdfImage.FromFile("img.png")

# 创建PdfImageHelper对象
imageHelper = PdfImageHelper()

# 通过PdfImageHelper获取页面中的图片信息
imageInfos = imageHelper.GetImagesInfo(page)

# 用加载的图片替换页面上的第一张图片
imageHelper.ReplaceImage(imageInfos[0], image)

# 保存结果文件
pdf.SaveToFile("替换图片.pdf", FileFormat.PDF)

# 对象释放
pdf.Close()

Python 添加、替换、删除和提取 PDF 中的图片

Python 删除 PDF 文件中的图片

PdfImageHelper.DeleteImage() 方法可以删除 PDF 页面中的指定图片。具体步骤如下:

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


# 创建PdfDocument对象
pdf = PdfDocument()

# 加载PDF文件
pdf.LoadFromFile("图片.pdf")

# 获取第一页
page = pdf.Pages.get_Item(0)

# 创建PdfImageHelper对象
imageHelper = PdfImageHelper()

# 通过PdfImageHelper获取页面中的图片信息
imageInfos = imageHelper.GetImagesInfo(page)

# 删除页面中指定的图片
imageHelper.DeleteImage(imageInfos[0])

# 保存结果文件
pdf.SaveToFile("删除图片.pdf", FileFormat.PDF)

# 对象释放
pdf.Close()

Python 添加、替换、删除和提取 PDF 中的图片

Python 提取 PDF 文件中的图片

通过 PdfImageHelper.GetImagesInfo() 获取的图片也能轻松地提取保存出来。具体步骤如下:

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


# 创建PdfDocument对象
pdf = PdfDocument()

# 加载PDF文件
pdf.LoadFromFile("图片.pdf")

# 获取第一页
page = pdf.Pages[0]

# 创建PdfImageHelper对象
imageHelper = PdfImageHelper()

# 通过PdfImageHelper获取页面中的图片信息
imageInfos = imageHelper.GetImagesInfo(page)

# 遍历保存图片
for i in range(len(imageInfos)):
    info = imageInfos.__getitem__(i)
    fileName = "\\ExtractedImg-{0:d}.png".format(i)
    info.Image.Save(fileName)

# 对象释放
pdf.Close()

Python 添加、替换、删除和提取 PDF 中的图片

申请临时 License

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

Spire.Doc for Java 11.10.3 已发布。本次更新同步 AppendHorizonalLine() 方法到 Java,同时还支持在转换为非流式布局文档时,将不支持绘制字符的字体通过 FontFallbackRule 方法中的 XML 做字体切换。此外,本次更新还增强了 Word 到 PDF、HTML 和 OFD 的转换功能。一些已知问题也在该版本中得到修复,如设置图片缩放大小的结果不正确的问题。详情请阅读以下内容。

新功能:

问题修复:


获取Spire.Doc for Java 11.10.3请点击:

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

上标和下标是排版和写作中使用的格式样式,用于将字符或数字置于正常文本行的上方或下方。上标是将较小尺寸的文字或符号置于基线之上,常用于指数、数学公式中的幂运算、化学式中的原子序号等。下标则是将较小尺寸的文字或符号置于基线之下,常用于化学公式、数学表达式和一些语言符号等。这些格式样式可以帮助用户区分文本中的特定元素,更有效地传达信息。本文将展示如何使用 Spire.XLS for Python 通过代码在 Excel 中应用上标和下标。

安装 Spire.XLS for Python

本方案需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 Windows 中。

pip install Spire.XLS

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

Python 在 Excel 中应用上标和下标

要为 Excel 中的特定字符应用上标或下标样式,首先需要创建自定义字体并设置其上标或下标属性。然后使用 Spire.XLS for Python 提供的 CellRange.RichText.SetFont() 方法将字体分配给单元格中的指定字符。具体步骤如下:

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

# 创建Workbook对象
workbook = Workbook()

# 获取第一张工作表
sheet = workbook.Worksheets[0]

# 在指定单元格中添加文本
sheet.Range["B2"].Text = "添加下标的示例:"
sheet.Range["D2"].Text = "添加上标的示例:"

# 在指定单元格中添加富文本
range = sheet.Range["B3"]
range.RichText.Text = "an = Sn - Sn-1"

# 创建自定义字体
font = workbook.CreateFont()

# 通过将IsSubscript属性设置为"true",启用字体的下标属性
font.IsSubscript = True

# 设置字体颜色
font.Color = Color.get_Red()

# 将该字体分配给所添加的富文本中的指定字符
range.RichText.SetFont(6, 6, font)
range.RichText.SetFont(11, 13, font)

# 在另一单元格中添加富文本 
range = sheet.Range["D3"]
range.RichText.Text = "a2 + b2 = c2"

# 创建自定义字体
font = workbook.CreateFont()

# 将IsSuperscript属性设置为"true",从而启用字体的上标属性
font.IsSuperscript = True

# 将该字体分配给所添加的富文本中的指定字符
range.RichText.SetFont(1, 1, font)
range.RichText.SetFont(6, 6, font)
range.RichText.SetFont(11, 11, font)

# 自适应列宽
sheet.AllocatedRange.AutoFitColumns()
 
# 保存结果文件
workbook.SaveToFile("设置上标和下标.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Python 在 Excel 中应用上标和下标

申请临时 License

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

Spire.Doc 11.10.7已发布。该版本修复了将Word转换为PDF时泰语字符未对齐和换行的问题。详情请阅读以下内容。

问题修复:


获取Spire.Doc 11.10.7请点击:

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

PDF 文档中的文字水印是以半透明的形式显示在 PDF 页面上的文本。通过在 PDF 页面上展示版权、保密性、作者、公司或其他信息,水印能够保护文档的版权和信息安全,便于文档的识别和管理,同时也有助于品牌宣传。无论是公开发布的文档还是需要保密的文档,都可以通过在文档中添加文字水印来实现文档的保护和个性化。本文将介绍如何使用 Spire.PDF for Python 通过 Python 程序在 PDF 文档中添加文字水印。

安装 Spire.PDF for Python

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

pip install Spire.PDF

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

在 PDF 文档中添加单行文字水印

单行文字水印是指只在页面中央倾斜单独显示的文字水印。以下是在 PDF 文档中添加单行文字水印的详细操作步骤:

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

# 创建PdfDocument类的对象
pdf = PdfDocument()

# 加载PDF文档
pdf.LoadFromFile("示例.pdf")

# 创建PdfTrueTypeFont类的对象
font = PdfTrueTypeFont("HarmonyOS Sans SC", 48.0, 0, True)

# 指定水印文本并计算水印位置
text = "禁止复制"
set1 = float (font.MeasureString(text).Width * math.sqrt(2) / 4)
set2 = float (font.MeasureString(text).Height * math.sqrt(2) / 4)

# 遍历文档中的页面
for i in range(pdf.Pages.Count):
    # 获取页面
    page = pdf.Pages.get_Item(i)
    # 设置水印的透明度
    page.Canvas.SetTransparency(0.5)
    # 将页面坐标系平移至指定位置
    page.Canvas.TranslateTransform(page.Canvas.Size.Width / 2 - set1 - set2, 
                                   page.Canvas.Size.Height / 2 + set1 - set2)
    # 逆时针旋转坐标系45度
    page.Canvas.RotateTransform(-45.0)
    # 在页面上绘制水印
    page.Canvas.DrawString(text, font, PdfBrushes.get_Cyan(), 0.0, 0.0)

# 保存文档
pdf.SaveToFile("output/单行文本水印.pdf")
pdf.Close()

Python 添加文字水印到 PDF 文档

在 PDF 文档中添加多行文字水印

多行文字水印是指在 PDF 页面上有规律地重复多次的文字水印。用户可使用 PdfTillingBrush 对象插入多行文本水印,并可通过修改对象的大小来控制水印的重复次数。具体操作步骤如下:

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

# 创建PdfDocument类的对象
pdf = PdfDocument()

# 加载PDF文档
pdf.LoadFromFile("示例.pdf")

# 创建PdfTrueTypeFont类的对象
font = PdfTrueTypeFont("HarmonyOS Sans SC", 32.0, 0, True)

# 指定水印文本
text = "文旅中心"

# 遍历文档的每一页
for i in range(pdf.Pages.Count):
    # 获取一页
    page = pdf.Pages.get_Item(i)
    # 创建PdfTilingBrush类的对象
    brush = PdfTilingBrush(SizeF(page.Canvas.ClientSize.Width / float(3), page.Canvas.ClientSize.Height / float(3)))
    # 设置水印的透明度
    brush.Graphics.SetTransparency(0.3)
    brush.Graphics.Save()
    # 将画刷的坐标系平移到指定位置
    brush.Graphics.TranslateTransform(brush.Size.Width / float(2), brush.Size.Height / float(2))
    # 逆时针旋转坐标系45度
    brush.Graphics.RotateTransform(-45.0)
    # 在画刷上绘制水印文本
    brush.Graphics.DrawString(text, font, PdfBrushes.get_Violet(), 0.0, 0.0, PdfStringFormat(PdfTextAlignment.Center))
    brush.Graphics.Restore()
    brush.Graphics.SetTransparency(1.0)
    # 在页面上绘制水印
    page.Canvas.DrawRectangle(brush, RectangleF(PointF(0.0, 0.0), page.Canvas.ClientSize))

# 保存PDF文档
pdf.SaveToFile("output/多行文本水印.pdf")
pdf.Close()

Python 添加文字水印到 PDF 文档

申请临时 License

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

图像水印经常出现在共享的 PDF 文档中。与文本水印不同,图片水印通过显示公司标志、商标、警示图标等,以更直观的方式强调版权、所有权和保密性等信息。此外,将图片水印添加到 PDF 文档中还可以帮助进行品牌推广,以及增强文档的视觉效果等。本文将介绍如何使用 Spire.PDF for Python 在 Python 程序中在 PDF 文档中插入图像水印。

安装 Spire.PDF for Python

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

pip install Spire.PDF

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

在 PDF 文档中添加单一图像水印

单一图像水印是在 PDF 页面中央单次显示的半透明图像。使用 Spire.PDF for Python,用户可以将指定图像作为水印绘制在任意 PDF 页面上。具体步骤如下:

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

# 创建 PdfDocument 类的对象
pdf = PdfDocument()

# 加载 PDF 文档
pdf.LoadFromFile("示例.pdf")

# 加载水印图像
image = PdfImage.FromFile("水印.png")

# 获取图像的宽度和高度
imageWidth = float(image.Width)
imageHeight = float(image.Height)

# 循环遍历文档中的页面
for i in range(pdf.Pages.Count):
    # 获取页面
    page = pdf.Pages.get_Item(i)
    # 设置水印的透明度
    page.Canvas.SetTransparency(0.3)
    # 获取页面的宽度和高度
    pageWidth = page.ActualSize.Width
    pageHeight = page.ActualSize.Height
    # 在页面上绘制水印图像
    page.Canvas.DrawImage(image, pageWidth/2 - imageWidth/2, pageHeight/2 - imageHeight/2, imageWidth, imageHeight)

# 保存文档
pdf.SaveToFile("output/单一图像水印.pdf")
pdf.Close()

Python 添加图像水印到 PDF 文档

在 PDF 文档中添加重复图像水印

重复图像水印是在 PDF 页面上有规律地重复显示的图像。使用 Spire.PDF for Python 在 PDF 页面上绘制重复图像水印需要用到 PdfTillingBrush 类。以下是详细步骤:

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

# 创建 PdfDocument 类的对象
pdf = PdfDocument()

# 加载 PDF 文档
pdf.LoadFromFile("示例.pdf")

# 加载水印图像
image = PdfImage.FromFile("水印.png")

# 遍历文档的页面
for i in range(pdf.Pages.Count):
    # 获取一个页面
    page = pdf.Pages.get_Item(i)
    # 创建 PdfTilingBrush 类的对象并设置其大小
    brush = PdfTilingBrush(SizeF(page.Canvas.Size.Width / float(3), page.Canvas.Size.Height / float(3)))
    # 设置水印的透明度
    brush.Graphics.SetTransparency(0.3)
    brush.Graphics.Save()
    # 将坐标转换到指定位置
    brush.Graphics.TranslateTransform(brush.Size.Width/2 - image.Width/2, brush.Size.Height/2 - image.Height/2)
    # 在刷子上绘制水印图像
    brush.Graphics.DrawImage(image, 0.0, 0.0, float(image.Width), float(image.Height))
    brush.Graphics.Restore()
    # 在页面上绘制水印
    page.Canvas.DrawRectangle(brush, RectangleF(PointF(0.0, 0.0), page.Canvas.Size))

# 保存 PDF 文档
pdf.SaveToFile("output/重复图像水印.pdf", FileFormat.PDF)
pdf.Close()

Python 添加图像水印到 PDF 文档

申请临时 License

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

使用Python实现PDF到Excel自动化转换

PDF 文件因其版式稳定、跨平台兼容的特点,已成为日常办公中共享报告、合同和财务资料的常用格式。然而,正是这种固定的布局,导致从 PDF 中提取数据变得十分困难,尤其在涉及表格或多页内容时更为明显。相比之下,Excel 在数据处理、分析和可视化方面更具优势,因此,将 PDF 文件转换为 Excel 表格已成为高效提取和利用 PDF 数据的有效途径。

在这篇文章中,您将学习如何使用 Python 和 Spire.PDF for Python 库将 PDF 文件转换为 Excel(XLSX)格式,内容涵盖从快速转换到支持布局和格式控制的高级设置,帮助您灵活应对各类文档转换需求。

目录

为什么使用 Python 将 PDF 转换为 Excel

与手动复制粘贴数据相比,使用Python将PDF转换为Excel有许多优势:

  • 自动化处理:可批量处理多个 PDF 文件,节省人工操作时间。
  • 提高准确性:减少手动复制粘贴导致的数据错误或遗漏。
  • 结构化输出:将 PDF 中的表格或数据以结构化形式导出,便于后续分析。
  • 便于分析和可视化:借助 Excel 的强大功能,对数据进行筛选、汇总和图表展示。
  • 灵活集成:可与其他 Python 脚本或系统集成,实现数据流转自动化。

开发环境准备

在开始将 PDF 文件转换为 Excel 之前,需要先配置好开发环境,确保系统中已安装所需的 Python 版本及 Spire.PDF 库。

安装 Python

如果您的设备尚未安装 Python,可前往 Python 官网 下载并安装最新版本。

安装 Spire.PDF for Python

Spire.PDF for Python是实现 PDF 转换为 Excel 的核心库,可通过以下命令进行安装:

pip install Spire.PDF

上述命令将自动下载并安装 Spire.PDF 库及其相关依赖项。如需了解更多安装细节,请参考:如何在 Windows 中安装 Spire.PDF for Python。

使用 Python 快速将 PDF 转换为 Excel

对于结构较为简单的 PDF 文档,可以直接使用 LoadFromFile 加载文件,并调用 SaveToFile 将其保存为 Excel 格式。

实现步骤

  • 创建 PdfDocument 对象。
  • 使用 LoadFromFile 方法加载 PDF 文件。
  • 使用 SaveToFile 方法将 PDF 保存为 Excel 文件(.xlsx 格式)。

示例代码

from spire.pdf import *

# Create a PdfDocument object
pdf = PdfDocument()

# Load your PDF file
pdf.LoadFromFile("Sample.pdf")

# Convert and save the PDF to Excel
pdf.SaveToFile("output.xlsx", FileFormat.XLSX)

# Close the document
pdf.Close()

自定义 PDF 到 Excel 转换设置(布局与格式控制)

对于结构复杂的 PDF 文档,尤其是包含多页内容、旋转文本、跨行单元格或重叠元素的文件,您可以通过 XlsxLineLayoutOptions 类自定义转换设置,最大限度地保留 PDF 原有的布局和格式。

可设置的选项

选项 描述 默认值
convertToMultipleSheet 是否将 PDF 的每一页分别转换为单独的 Excel 工作表。 True
rotatedText 是否保留 PDF 中的旋转文本。启用后,Excel 中的文本方向将与原始 PDF 保持一致。 True
splitCell 控制 PDF 表格中包含多行文本的单元格是否拆分为多行 Excel 单元格。设置为 False 时,文本将保留在同一单元格中。 True
wrapText 是否启用 Excel 中的单元格文本自动换行,使长文本在单元格中自动换行显示。 True
overlapText 是否保留 PDF 中的重叠文本显示效果。启用后,Excel 中将以相似方式渲染这些重叠文本。 False

示例代码

from spire.pdf import *

# Create a PdfDocument object
pdf = PdfDocument()

# Load your PDF file
pdf.LoadFromFile("Sample.pdf")

# Define layout options
# Parameters: convertToMultipleSheet, rotatedText, splitCell, wrapText, overlapText
layout_options = XlsxLineLayoutOptions(True, True, False, True, False)

# Apply layout options
pdf.ConvertOptions.SetPdfToXlsxOptions(layout_options)

# Convert and save the PDF to Excel
pdf.SaveToFile("advanced_output.xlsx", FileFormat.XLSX)

# Close the document
pdf.Close()

自定义 PDF 到 Excel 转换效果

总结

使用 Python 和 Spire.PDF for Python库,您可以高效地将 PDF 文件转换为 Excel 格式,并保留原始布局与样式。无论是简单的单页文件,还是包含多页、旋转文本或复杂表格的 PDF,Spire.PDF 均提供灵活的转换选项,帮助您按需调整转换细节,实现更理想的输出效果。

想要体验完整功能?现在即可该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 Spire.PDF for Python 的免费试用授权,轻松开启 PDF自动化处理流程。

常见问题解答(FAQ)

Q1:我可以将 PDF 中的每一页转换为单独的 Excel 工作表吗?
A1:可以。只需设置 convertToMultipleSheet=True,即可将每页 PDF 导出为独立的工作表。

Q2:Spire.PDF 支持转换为哪种 Excel 格式?
A2:支持 .xlsx 格式,这是 Microsoft Excel 2007 及更高版本使用的标准格式。

Q3:转换时是否可以保留 PDF 中的表格格式?
A3:可以。Spire.PDF 支持保留合并单元格、单元格样式、背景色等常见格式设置。

Q4:我能否只提取某个特定表格内容导出到 Excel?
A4:可以。Spire.PDF 提供表格识别与提取功能,您可根据需求提取并保存特定表格的数据,避免处理整个文档。