当您想共享或展示文档内容但却担心出现跨设备兼容性问题时,将 Word 文档转换成图片是一个比较推荐的选择。通过将 Word 文档转换为图片,可以确保文本、图片和格式保持不变,是在社交媒体、网站或通过电子邮件共享文档的理想解决方案。在本文中,您将学习如何使用 Spire.Doc for Python 在 Python 中将 Word 转换为 PNG、JPEG 或 SVG 图片。
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python
Spire.Doc for Python 提供的 Document.SaveImageToStream() 方法可将特定页面转换为位图(Bitmap)。然后,您可以将位图(Bitmap)再进一步保存为 PNG、JPEG 或 BMP 等常用图像格式。具体步骤如下。
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()

仅需使用 Document.SaveToFile() 方法即可将 Word 文档转换为多个 SVG 文件。具体步骤如下。
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()

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Cloud 8.10.9 已发布。在本次更新中,该版本修复了 Word 文档中内容显示不正确,以及页码显示不一致等多个已知问题。详情请阅读以下内容。
问题修复:
Word 文档中的批注是协作编辑和反馈的重要工具,可以帮助用户在文档中提出建议、说明以及进行讨论,而不影响文档内容。掌握 Word 文档评论的高效处理方法能够显著提升文档协作编辑效率。本文将介绍如何使用 Spire.Doc for Python 通过 Python 程序在 Word 文档中添加、删除或回复批注。
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python
Spire.Doc for Python 提供的 Paragraph.AppendComment() 方法可用于为指定段落添加批注。而批注对应的文本范围需要使用批注开始标记和结束标记来控制。为段落添加批注的具体步骤如下:
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()

Spire.Doc for 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()

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

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

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
除了文本内容外,PDF 文件中的图片在有效传达信息方面也发挥着重要作用。在 PDF 文档中对图片进行添加、替换、删除等操作,对于增强视觉吸引力、更新过时的图片或修改文档内容非常有帮助。在本文中,您将学习如何使用 Spire.PDF for Python 在 Python 中添加、替换、删除和提取 PDF 文档中的图片。
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.PDF for Python
要在 PDF 页面中添加图片,可以使用 PdfPage.Canvas.DrawImage() 方法。具体步骤如下:
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)

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

PdfImageHelper.DeleteImage() 方法可以删除 PDF 页面中的指定图片。具体步骤如下:
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()

通过 PdfImageHelper.GetImagesInfo() 获取的图片也能轻松地提取保存出来。具体步骤如下:
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()

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Doc for Java 11.10.3 已发布。本次更新同步 AppendHorizonalLine() 方法到 Java,同时还支持在转换为非流式布局文档时,将不支持绘制字符的字体通过 FontFallbackRule 方法中的 XML 做字体切换。此外,本次更新还增强了 Word 到 PDF、HTML 和 OFD 的转换功能。一些已知问题也在该版本中得到修复,如设置图片缩放大小的结果不正确的问题。详情请阅读以下内容。
新功能:
paragraph.appendHorizonalLine()Document doc = New Document();
doc.loadFromFile(inputFile);
doc.saveFontFallbackRuleSettings(outputFile_xml);
doc.loadFontFallbackRuleSettings(outputFile_xml);
doc.saveToFile(outputFile, FileFormat.PDF);问题修复:
上标和下标是排版和写作中使用的格式样式,用于将字符或数字置于正常文本行的上方或下方。上标是将较小尺寸的文字或符号置于基线之上,常用于指数、数学公式中的幂运算、化学式中的原子序号等。下标则是将较小尺寸的文字或符号置于基线之下,常用于化学公式、数学表达式和一些语言符号等。这些格式样式可以帮助用户区分文本中的特定元素,更有效地传达信息。本文将展示如何使用 Spire.XLS for Python 通过代码在 Excel 中应用上标和下标。
本方案需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 Windows 中。
pip install Spire.XLS如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
要为 Excel 中的特定字符应用上标或下标样式,首先需要创建自定义字体并设置其上标或下标属性。然后使用 Spire.XLS for Python 提供的 CellRange.RichText.SetFont() 方法将字体分配给单元格中的指定字符。具体步骤如下:
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()

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Doc 11.10.7已发布。该版本修复了将Word转换为PDF时泰语字符未对齐和换行的问题。详情请阅读以下内容。
问题修复:
PDF 文档中的文字水印是以半透明的形式显示在 PDF 页面上的文本。通过在 PDF 页面上展示版权、保密性、作者、公司或其他信息,水印能够保护文档的版权和信息安全,便于文档的识别和管理,同时也有助于品牌宣传。无论是公开发布的文档还是需要保密的文档,都可以通过在文档中添加文字水印来实现文档的保护和个性化。本文将介绍如何使用 Spire.PDF for Python 通过 Python 程序在 PDF 文档中添加文字水印。
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.PDF for Python
单行文字水印是指只在页面中央倾斜单独显示的文字水印。以下是在 PDF 文档中添加单行文字水印的详细操作步骤:
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()

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

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
图像水印经常出现在共享的 PDF 文档中。与文本水印不同,图片水印通过显示公司标志、商标、警示图标等,以更直观的方式强调版权、所有权和保密性等信息。此外,将图片水印添加到 PDF 文档中还可以帮助进行品牌推广,以及增强文档的视觉效果等。本文将介绍如何使用 Spire.PDF for Python 在 Python 程序中在 PDF 文档中插入图像水印。
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.PDF for Python
单一图像水印是在 PDF 页面中央单次显示的半透明图像。使用 Spire.PDF for Python,用户可以将指定图像作为水印绘制在任意 PDF 页面上。具体步骤如下:
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()

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

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

PDF 文件因其版式稳定、跨平台兼容的特点,已成为日常办公中共享报告、合同和财务资料的常用格式。然而,正是这种固定的布局,导致从 PDF 中提取数据变得十分困难,尤其在涉及表格或多页内容时更为明显。相比之下,Excel 在数据处理、分析和可视化方面更具优势,因此,将 PDF 文件转换为 Excel 表格已成为高效提取和利用 PDF 数据的有效途径。
在这篇文章中,您将学习如何使用 Python 和 Spire.PDF for Python 库将 PDF 文件转换为 Excel(XLSX)格式,内容涵盖从快速转换到支持布局和格式控制的高级设置,帮助您灵活应对各类文档转换需求。
与手动复制粘贴数据相比,使用Python将PDF转换为Excel有许多优势:
在开始将 PDF 文件转换为 Excel 之前,需要先配置好开发环境,确保系统中已安装所需的 Python 版本及 Spire.PDF 库。
如果您的设备尚未安装 Python,可前往 Python 官网 下载并安装最新版本。
Spire.PDF for Python是实现 PDF 转换为 Excel 的核心库,可通过以下命令进行安装:
pip install Spire.PDF
上述命令将自动下载并安装 Spire.PDF 库及其相关依赖项。如需了解更多安装细节,请参考:如何在 Windows 中安装 Spire.PDF for Python。
对于结构较为简单的 PDF 文档,可以直接使用 LoadFromFile 加载文件,并调用 SaveToFile 将其保存为 Excel 格式。
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 文档,尤其是包含多页内容、旋转文本、跨行单元格或重叠元素的文件,您可以通过 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()

使用 Python 和 Spire.PDF for Python库,您可以高效地将 PDF 文件转换为 Excel 格式,并保留原始布局与样式。无论是简单的单页文件,还是包含多页、旋转文本或复杂表格的 PDF,Spire.PDF 均提供灵活的转换选项,帮助您按需调整转换细节,实现更理想的输出效果。
想要体验完整功能?现在即可该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 Spire.PDF for Python 的免费试用授权,轻松开启 PDF自动化处理流程。
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 提供表格识别与提取功能,您可根据需求提取并保存特定表格的数据,避免处理整个文档。