脚注是 Microsoft 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.AppendFootnote(FootnoteType.Footnote) 方法,轻松为特定段落添加脚注。具体步骤如下:
from spire.doc import *
from spire.doc.common import *
# 创建一个 Document 对象
document = Document()
# 从文件加载文档
document.LoadFromFile("示例文档.docx")
# 获取文档的第一节
section = document.Sections.get_Item(0)
# 获取第五个段落
paragraph = section.Paragraphs.get_Item(4)
# 在段落末尾添加脚注
footnote = paragraph.AppendFootnote(FootnoteType.Footnote)
# 在脚注中添加文本段落并设置文本内容
text = footnote.TextBody.AddParagraph().AppendText("详细的示例代码请到官网下载压缩包")
# 设置文本段落的字体、大小和颜色
text.CharacterFormat.FontName = "微软雅黑"
text.CharacterFormat.FontSize = 12
text.CharacterFormat.TextColor = Color.get_DarkBlue()
# 设置脚注标记的字体、大小、加粗和颜色
footnote.MarkerCharacterFormat.FontName = "Calibri"
footnote.MarkerCharacterFormat.FontSize = 15
footnote.MarkerCharacterFormat.Bold = True
footnote.MarkerCharacterFormat.TextColor = Color.get_DarkCyan()
# 将文档保存为新文件,使用 Docx2016 格式
document.SaveToFile("为段落添加脚注.docx", FileFormat.Docx2016)
document.Close()
要为特定文本添加脚注,您需要找到文档中的文本,获取它在所属段落中的位置,然后在文本之后插入脚注。具体步骤如下:
from spire.doc import *
from spire.doc.common import *
# 创建一个 Document 对象
document = Document()
# 从文件加载示例文档
document.LoadFromFile("示例文档.docx")
# 在文档中查找指定字符串,并返回匹配结果
selection = document.FindString("Word Python API", False, True)
# 将匹配结果转换为文本范围
textRange = selection.GetAsOneRange()
# 获取文本范围所在的段落
paragraph = textRange.OwnerParagraph
# 获取文本范围在段落中的索引
index = paragraph.ChildObjects.IndexOf(textRange)
# 在段落末尾添加脚注
footnote = paragraph.AppendFootnote(FootnoteType.Footnote)
# 将脚注插入到文本范围之后的位置
paragraph.ChildObjects.Insert(index + 1, footnote)
# 在脚注中添加文本段落并设置文本内容
text = footnote.TextBody.AddParagraph().AppendText("详细的API介绍只有网页版的")
# 设置文本段落的字体、大小和颜色
text.CharacterFormat.FontName = "宋体"
text.CharacterFormat.FontSize = 14
text.CharacterFormat.TextColor = Color.get_DarkBlue()
# 设置脚注标记的字体、大小、加粗和颜色
footnote.MarkerCharacterFormat.FontName = "Calibri"
footnote.MarkerCharacterFormat.FontSize = 16
footnote.MarkerCharacterFormat.Bold = True
footnote.MarkerCharacterFormat.TextColor = Color.get_DarkGreen()
# 将更改后的文档保存为新文件,使用 Docx2016 格式
document.SaveToFile("为文本添加脚注.docx", FileFormat.Docx2016)
document.Close()
当不再需要 Word 文档的脚注时,您可以将其删除,使文档更加整洁。具体步骤如下:
from spire.doc import *
from spire.doc.common import *
# 创建一个 Document 对象
document = Document()
# 从文件加载需要处理的文档
document.LoadFromFile("为段落添加脚注.docx")
# 获取文档的第一节
section = document.Sections[0]
# 遍历节中的每个段落
for y in range(section.Paragraphs.Count):
# 获取当前段落
para = section.Paragraphs.get_Item(y)
# 初始化变量
index = -1
i = 0
cnt = para.ChildObjects.Count
# 遍历段落中的子对象
while i < cnt:
# 获取当前子对象
pBase = para.ChildObjects[i] if isinstance(para.ChildObjects[i], ParagraphBase) else None
# 判断当前对象是否为脚注
if isinstance(pBase, Footnote):
index = i
break
i += 1
# 如果找到了脚注对象,则移除该对象
if index > -1:
para.ChildObjects.RemoveAt(index)
# 将修改后的文档保存为新文件,使用默认的 Docx 格式
document.SaveToFile("删除脚注.docx", FileFormat.Docx)
document.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Microsoft PowerPoint 中的批注功能允许用户在特定幻灯片或幻灯片元素上添加额外信息,以改善共享演示文稿时的协作和沟通。这些批注可以是相关内容、修改建议等。当多人共同编辑演示文稿时,此功能非常有用。在本文中,您将学习如何在 Python 程序中使用 Spire.Presentation for Python 来添加、删除或替换幻灯片上的批注。
本教程需要 Spire.Presentation for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Presentation如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.Presentation for Python
Spire.Presentation for Python 提供了 Presentation.CommentAuthors.AddAuthor(name,initials) 和 Presentation.Slides[].AddComment(author,text,position,dateTime) 方法来支持向幻灯片添加批注。具体步骤如下所示。
from spire.presentation.common import *
from spire.presentation import *
# 创建一个Presentation实例
presentation = Presentation()
# 从磁盘加载演示文稿
presentation.LoadFromFile("示例.pptx")
# 添加批注的作者
author = presentation.CommentAuthors.AddAuthor("冰蓝科技", "批注前缀:")
# 在第一张幻灯片上添加批注
point = PointF(45.0,15.0)
presentation.Slides[0].AddComment(author, "名称", point, DateTime.get_Now())
# 在该幻灯片上添加另一个批注
author = presentation.CommentAuthors.AddAuthor("冰蓝科技", "批注前缀:")
point = PointF(55.0,22.0)
presentation.Slides[0].AddComment(author, "概括", point, DateTime.get_Now())
# 保存结果文件
presentation.SaveToFile("添加批注.pptx", FileFormat.Pptx2016)
# 释放对象
presentation.Dispose()
您也可以使用 Presentation.Slides[].DeleteComment(comment) 方法从幻灯片删除指定的批注。以下是详细步骤:
from spire.presentation.common import *
from spire.presentation import *
# 创建一个Presentation实例
presentation = Presentation()
# 从磁盘加载演示文稿
presentation.LoadFromFile("添加批注.pptx")
# 删除第一张幻灯片上的第一个评论
presentation.Slides[0].DeleteComment(presentation.Slides[0].Comments[0])
# 保存结果文件
presentation.SaveToFile("删除批注.pptx", FileFormat.Pptx2016)
# 释放对象
presentation.Dispose()
如果您想修改批注内容,请使用 Presentation.Slides[].Comments[].Text 属性。以下是详细步骤:
from spire.presentation.common import *
from spire.presentation import *
# 创建一个Presentation实例
presentation = Presentation()
# 从磁盘加载演示文稿
presentation.LoadFromFile("添加批注.pptx")
# 替换第二个评论的内容为新文本
presentation.Slides[0].Comments[1].Text = "替换后的内容"
# 保存结果文件
presentation.SaveToFile("替换批注.pptx", FileFormat.Pptx2016)
# 释放对象
presentation.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Office for C++ 9.1.0已发布。其中Spire.XLS for C++新增了自定义异常类SpireException。此外,还修复了当系统语言环境为西班牙语时,转换Excel到PDF后页眉高度变宽的问题。详情请阅读以下内容。
获取 Spire.Office for C++ 9.1.0请点击:https://www.e-iceblue.cn/Downloads/Spire-Office-CPP.html
新功能:
问题修复:
Spire.Office for Java 9.1.10 已发布。在该版本中,Spire.PDF for Java 新增解密 PDF 文档的方法;Spire.Doc for Java 优化了加载不存在文档路径时的异常捕获机制;Spire.Barcode for Java 支持在二维码中间添加图片。同时,该版本还修复了许多已知问题。详情请阅读以下内容。
获取 Spire.Office for Java 9.1.10请点击:https://www.e-iceblue.cn/Downloads/Spire-Office-JAVA.html
新功能:
PdfDocument pdf1 =new PdfDocument();
pdf1.loadFromFile("input.pdf");
pdf1.decrypt();
pdf1.saveToFile("output.pdf");
PdfDocument pdf2 =new PdfDocument();
pdf2.loadFromFile("input.pdf");
pdf2.decrypt(ownerPassword);
pdf2.saveToFile("output.pdf");问题修复:
新功能:
问题修复:
新功能:
BarcodeSettings barCodeSetting = new BarcodeSettings();
BufferedImage image = ImageIO.read(new File("Image/1.png"));
barCodeSetting.setQRCodeLogoImage(image);问题修复:
Spire.Presentation 9.1.5已发布。该版本支持在PPTX中嵌入字体。同时还提供了IsHidden属性用于判断Ole对象是否隐藏。此外,还修复了一系列其他已知问题,例如当系统区域语言设置为土耳其语时,加载PPTX文档时程序抛出“Microsoft PowerPoint 2007 file is corrpt.”的问题。详情请阅读以下内容。
新功能:
ppt.AddEmbeddedFont(string fontpath);OleObjectCollection oles = ppt.Slides[0].OleObjects;
OleObject ole= oles[0];
bool result=ole.IsHidden;问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html
Spire.Doc for Java 12.1.16 已发布。本次更新新增 Bookmark.getFirstColumn() 方法和 Bookmark.getLastColumn() 方法,同时优化了加载不存在文档路径时的异常捕获机制。该版本该增强了 Word 到 PDF 和 HTML 的转换功能。此外,一些已知问题也在该版本中成功修复,如接受修订效果不正确的问题。详情请阅读以下内容。
新功能:
问题修复:
Spire.RPA 9.1.1 已发布。该版本新增了 AI 提问功能。此功能由 Spire.RPA.AI 工具所支持,允许用户通过与 AI 交互的方式来获取较为通用且具有参考价值的工作流程。此次更新不仅能够降低用户的操作难度,同时也有助于缩短创建自动化流程脚本所需的时间。
操作示例:
用户通过提问的方式描述想要实现的流程;Spire.RPA.AI 将根据这些描述生成相应的流程方案。

安装方法:
在使用该功能之前,需要将 Spire.RPA.AI 工具集成到已有的 Spire.RPA 产品中。您只需将获得的 AI 功能的 AppKey 填入到软件的 "设置" - "运行" 界面中,即可成功启用该功能。

Spire.PDF 10.1.17 已发布。本次更新增强了 PDF 到图片和 OFD 以及 OFD 和 HTML 到 PDF 的转换功能。此外,一些已知问题也在该版本中得到修复,如替换文本后出现的内容重叠问题。详情请阅读以下内容。
问题修复:
OLE 允许用户将各种文件类型(如图像、图表、文档和多媒体)直接嵌入到 Excel 工作簿中,从而促进了信息的更加动态和全面的呈现。通过插入 OLE 对象,用户可以创建交互式和引人注目的电子表格,将各种数据格式集成到一个 Excel 环境中,以简化分析和演示过程。在本文中,我们将探讨如何使用 Spire.XLS for Python 在 Python 中插入链接或嵌入式 OLE 对象到 Excel 以及从 Excel 中提取 OLE 对象。
本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
要将 OLE 对象插入工作表中,您可以使用 Worksheet.OleObjects.Add(fileName, image, linkType) 方法,其中:
以下是使用 Spire.XLS for Python 将链接型的 OLE 对象插入到 Excel 的步骤:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 获取第一个工作表对象
sheet = workbook.Worksheets[0]
# 在单元格 A1 中设置文本内容
sheet.Range["A1"].Text = "这是一个OLE对象。"
# 从文件加载图像数据
image = Image.FromFile("image1.png")
# 使用流将图像保存为 PNG 格式并获取流对象
with Stream() as stream:
image.Save(stream, ImageFormat.get_Png())
# 在工作表中添加 OLE 对象,指定链接类型和流对象
oleObject = sheet.OleObjects.Add("Word文档.docx", stream, OleLinkType.Link)
# 设置 OLE 对象的位置为 B3 单元格
oleObject.Location = sheet.Range["B3"]
# 设置 OLE 对象的对象类型为 Word 文档
oleObject.ObjectType = OleObjectType.WordDocument
# 将更改后的工作簿保存为文件,使用 ExcelVersion.Version2016 格式
workbook.SaveToFile("Ole对象.xlsx", ExcelVersion.Version2016)
# 释放 Workbook 对象所占用的资源
workbook.Dispose()
要将嵌入型的 OLE 对象插入到 Excel 中,您可以在调用 Worksheet.OleObjects.Add() 方法时将链接类型设置为 OleLinkType.Embed。详细步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 获取第一个工作表对象
sheet = workbook.Worksheets[0]
# 在单元格 A1 中设置文本内容
sheet.Range["A1"].Text = "这是一个OLE对象。"
# 从文件加载图像数据
image = Image.FromFile("image2.png")
# 使用流将图像保存为 PNG 格式并获取流对象
with Stream() as stream:
image.Save(stream, ImageFormat.get_Png())
# 在工作表中添加嵌入式 OLE 对象,指定链接类型和流对象
oleObject = sheet.OleObjects.Add("Word文档.docx", stream, OleLinkType.Embed)
# 设置 OLE 对象的位置为 B3 单元格
oleObject.Location = sheet.Range["B3"]
# 设置 OLE 对象的对象类型为 Word 文档
oleObject.ObjectType = OleObjectType.WordDocument
# 将更改后的工作簿保存为文件,使用 ExcelVersion.Version2016 格式
workbook.SaveToFile("Ole对象2.xlsx", ExcelVersion.Version2016)
# 释放 Workbook 对象所占用的资源
workbook.Dispose()
Spire.XLS for Python 提供了 Worksheet.HasOleObjects 属性来确定工作表是否包含 OLE 对象。如果存在,可以通过 Worksheet.OleObjects 属性获取所有对象。然后,确定特定 OLE 对象的类型,并将 OLE 保存为适当文档类型的文件。以下是使用 Spire.XLS for Python 从 Excel 中提取 OLE 对象的步骤。
from spire.xls import *
from spire.xls.common import *
# 定义一个将数据写入文件的函数
def WriteAllBytes(fname:str, data):
# 打开文件以二进制写入模式
fp = open(fname, "wb")
# 遍历数据并写入文件
for d in data:
fp.write(d)
# 关闭文件
fp.close()
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("Ole对象文档.xlsx")
# 获取第一个工作表对象
sheet = workbook.Worksheets[0]
# 检查工作表是否包含 OLE 对象
if sheet.HasOleObjects:
# 遍历工作表中的所有 OLE 对象
for obj in sheet.OleObjects:
# 获取 OLE 对象的类型
type = obj.ObjectType
# 如果对象类型是 Word 文档
if type is OleObjectType.WordDocument:
# 将 OLE 对象的数据写入 Word 文档文件
WriteAllBytes("output/Word-Extracted.docx", obj.OleData)
# 如果对象类型是 Adobe Acrobat 文档
if type is OleObjectType.AdobeAcrobatDocument:
# 将 OLE 对象的数据写入 PDF 文件
WriteAllBytes("output/PDF-Extracted.pdf", obj.OleData)
# 如果对象类型是 PowerPoint 演示文稿
if type is OleObjectType.PowerPointPresentation:
# 将 OLE 对象的数据写入 PowerPoint 文件
WriteAllBytes("output/PPT-Extracted.pptx", obj.OleData)
# 释放 Workbook 对象所占用的资源
workbook.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
在 Excel 中,文本框提供了一种灵活的方式,可以向工作表、图表或其他对象添加文字信息或注释。它们允许用户显示与数据本身无直接关联的解释性文本、标签或评论。在本指南中,我们将探讨如何使用 Spire.XLS for Python 在 Python 中添加、更新和删除 Excel 中的文本框。
本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
您可以使用 Worksheet.TextBoxes.AddTextBox() 方法将文本框添加到工作表的指定位置。TextBox 对象具有一组属性,可以设置文本框的文本和格式。使用 Spire.XLS for Python 创建文本框的详细步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 获取第一个工作表对象
sheet = workbook.Worksheets[0]
# 添加文本框,指定位置和大小
textBox = sheet.TextBoxes.AddTextBox(5, 3, 120, 330)
# 设置文本框填充类型为纯色填充
textBox.Fill.FillType = ShapeFillType.SolidColor
# 设置文本框填充颜色为25%的灰色
textBox.Fill.ForeKnownColor = ExcelColors.Gray25Percent
# 设置文本框的文本内容
textBox.Text = "这是Excel中的一个文本框。"
# 设置文本框水平居中对齐
textBox.HAlignment = CommentHAlignType.Center
# 设置文本框垂直居中对齐
textBox.VAlignment = CommentVAlignType.Center
# 创建字体对象
font = workbook.CreateFont()
# 设置字体名称为宋体
font.FontName = "宋体"
# 设置字体大小为18磅
font.Size = 18
# 设置字体为粗体
font.IsBold = True
# 设置字体颜色为蓝色
font.Color = Color.get_Blue()
# 获取文本框的 RichText 对象
richText = textBox.RichText
# 构造 RichTextHelper 对象
rt = RichText(richText)
# 设置文本框中所有字符的字体样式为刚创建的字体对象
rt.SetFont(0, len(textBox.Text) - 1, font)
# 将更改后的工作簿保存为文件,使用 ExcelVersion.Version2016 格式
workbook.SaveToFile('添加文本框.xlsx', ExcelVersion.Version2016)
# 释放 Workbook 对象所占用的资源
workbook.Dispose()
您可以通过 Worksheet.TextBoxes[index] 属性访问特定的文本框,并可以通过 TextBox.Text 属性获取或修改文本框内的文本。以下是使用 Spire.XLS for Python 更新文本框的步骤:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 从文件夹加载Excel文件
workbook.LoadFromFile('文本框.xlsx')
# 获取第一个工作表对象
sheet = workbook.Worksheets[0]
# 获取第一个文本框对象
tb = sheet.TextBoxes[0]
# 更新文本框的文本内容
tb.Text = "此文本框中的文本已更改。"
# 将更改后的工作簿保存为文件,使用 ExcelVersion.Version2016 格式
workbook.SaveToFile('更新文本框.xlsx', ExcelVersion.Version2016)
# 释放 Workbook 对象所占用的资源
workbook.Dispose()
要删除特定的文本框,您可以使用 Worksheet.TextBox[index].Remove() 方法。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 从文件夹加载Excel文件
workbook.LoadFromFile('文本框.xlsx')
# 获取第一个工作表对象
sheet = workbook.Worksheets[0]
# 删除工作表中的第一个文本框对象
sheet.TextBoxes[0].Remove()
# 将更改后的工作簿保存为文件,使用 ExcelVersion.Version2016 格式
workbook.SaveToFile('删除文本框.xlsx', ExcelVersion.Version2016)
# 释放 Workbook 对象所占用的资源
workbook.Dispose()如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。