Spire.Presentation for Python 9.1.0已发布。本次更新新增了自定义异常类SpireException。此外,还修复了在将形状转换为图片时,程序抛出System.ArgumentNullException”异常的问题。详情请阅读以下内容。
新功能:
问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-Python.html
在 PowerPoint 文档中,字体的选择对于提升演示文稿的整体视觉吸引力和效果起着重要作用。不同的字体可以用来建立视觉层次结构,使您能够在演示中强调关键点、标题或副标题,并引导观众的注意力本文介绍如何使用 Spire.Presentation for Python 在 Python 中设置或更改 PowerPoint 文档中的字体。
本教程需要用到 Spire.Presentation for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Presentation如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.Presentation for Python
Spire.Presentation for Python 提供了 TextRange 类来表示一段文本范围。一个段落可以由一个或多个文本范围组成。要对文本范围中的字符应用字体格式,您可以使用 TextRange 类的 LatinFont、 IsBold、 IsItalic 和 FontHeight 等属性。以下是在 Python 中创建新的 PowerPoint 文档时设置字体的步骤:
from spire.presentation.common import *
from spire.presentation import *
# 创建一个Presentation对象
presentation = Presentation()
# 设置幻灯片大小为16:9比例屏幕尺寸
presentation.SlideSize.Type = SlideSizeType.Screen16x9
# 创建一个矩形对象
rec = RectangleF.FromLTRB(30, 100, 900, 250)
# 在第一个幻灯片上添加一个矩形形状
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, rec)
# 设置形状边框颜色为透明
shape.ShapeStyle.LineColor.Color = Color.get_Transparent()
# 设置形状填充类型为无填充
shape.Fill.FillType = FillFormatType.none
# 在形状中添加文本框并设置文本内容
shape.AppendTextFrame("Spire.Presentation for Python 是一个专业的演示文稿处理 API,与 PowerPoint 高度兼容。作为一个完全独立的 Python 开发组件,开发人员可以使用 Spire.Presentation for Python 来高效地创建、编辑、转换和保存 PowerPoint 演示文稿,无需安装 Microsoft PowerPoint。")
# 获取文本范围对象
textRange = shape.TextFrame.TextRange
# 设置拉丁字体为"黑体"
textRange.LatinFont = TextFont("黑体")
# 设置文本为粗体
textRange.IsBold = TriState.TTrue
# 设置文本为斜体
textRange.IsItalic = TriState.Ttrue
# 设置文本下划线样式
textRange.TextUnderlineType = TextUnderlineType.Single
# 设置字体大小为22
textRange.FontHeight = 22
# 设置文本填充类型为纯色填充
textRange.Fill.FillType = FillFormatType.Solid
# 设置文本颜色为黑色
textRange.Fill.SolidColor.Color = Color.get_Black()
# 设置文本对齐方式为左对齐
textRange.Paragraph.Alignment = TextAlignmentType.Left
# 设置行间距为0.5倍
textRange.LineSpacing = 0.5
# 将演示文稿保存为"设置字体.pptx"文件,文件格式为PPTX2019
presentation.SaveToFile("设置字体.pptx", FileFormat.Pptx2019)
# 释放演示文稿资源
presentation.Dispose()
要更改特定段落的字体,我们需要从文档中获取该段落。然后,遍历段落中的文本范围,并为每个文本范围重新设置字体信息。以下是使用 Spire.Presentation for Python 在现有 PowerPoint 文档中更改段落字体的步骤:
from spire.presentation.common import *
from spire.presentation import *
# 创建一个Presentation对象
presentation = Presentation()
# 从文件加载名为"示例文档.pptx"的演示文稿数据
presentation.LoadFromFile("示例文档.pptx")
# 获取第一个幻灯片对象
slide = presentation.Slides[0]
# 获取幻灯片中的第一个形状对象
shape = (IAutoShape)(slide.Shapes[0])
# 获取形状中的第一个段落对象
paragraph = shape.TextFrame.Paragraphs[0]
# 创建一个新的字体对象,使用宋体作为字体名称
newFont = TextFont("宋体")
# 遍历段落中的每个文本范围对象
for textRange in paragraph.TextRanges:
# 设置拉丁字体为新字体
textRange.LatinFont = newFont
# 设置文本为斜体
textRange.Format.IsItalic = TriState.TTrue
# 设置文本为非粗体
textRange.Format.IsBold = TriState.TFalse
# 设置文本下划线样式为单下划线
textRange.Format.TextUnderlineType = TextUnderlineType.Single
# 设置字体大小为25
textRange.FontHeight = 25
# 设置文本填充类型为纯色填充
textRange.Fill.FillType = FillFormatType.Solid
# 设置文本颜色为紫色
textRange.Fill.SolidColor.Color = Color.get_Purple()
# 将演示文稿保存为"更改字体.pptx"文件,文件格式为PPTX2019
presentation.SaveToFile("更改字体.pptx", FileFormat.Pptx2019)
# 释放演示文稿资源
presentation.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

在日常办公或教育场景中,将 PowerPoint(PPT 或 PPTX)幻灯片转换为图片格式是一项常见需求。无论是为了方便在网页上展示、嵌入到文档中,还是用于创建缩略图和预览图,将 PPT 转为 JPG、PNG、BMP 或 SVG 等图片格式都能提高内容的兼容性与可视性。
本文将为你详细介绍如何使用 Spire.Presentation for Python 库在Python中将 PowerPoint 文件高质量地导出为多种图片格式,附详细的讲解和实用代码示例。
目录
将 PowerPoint 幻灯片导出为图片格式(如 JPG、PNG、BMP 或 SVG),不仅适用于技术开发,还在日常办公、展示与归档等多种场景中展现出明显优势:
要在 Python 中将 PowerPoint 转换为图片格式,需要安装 Spire.Presentation for Python库,它支持将幻灯片高保真导出为多种图片格式,包括PNG, JPG, BMP和矢量图片格式SVG等。
安装方法
你使用以下pip命令,快速安装该库:
pip install spire.presentation
安装完成后,即可在项目中导入并使用该库。
光栅图片(如 PNG、JPG、BMP)由像素构成,适合共享及高质量打印。Spire.Presentation 提供两种导出为这些图片的方式:
以下示例展示了如何将 PPT 文件中的每张幻灯片按原始尺寸导出为 PNG 图片。你可以根据自己的实际需求,将幻灯片保存为.jpg或.bmp图片格式。
from spire.presentation import *
# 加载 PowerPoint 文件
ppt = Presentation()
ppt.LoadFromFile("输入文档.pptx")
# 遍历幻灯片并按原始尺寸保存为 PNG 图片
for i in range(ppt.Slides.Count):
image = ppt.Slides[i].SaveAsImage()
image.Save(f"RasterImages/ToImage_{i}.png")
ppt.Dispose()

在某些使用场景中,例如生成缩略图预览或用于高分辨率打印时,你可能需要指定导出图片的宽度和高度。下面的示例演示了如何将幻灯片导出为自定义尺寸的图片(例如 700×400 像素):
from spire.presentation import *
# 加载 PowerPoint 文件
ppt = Presentation()
ppt.LoadFromFile("输入文档.pptx")
# 遍历幻灯片并按自定义尺寸保存为 PNG 图片
for i in range(ppt.Slides.Count):
image = ppt.Slides[i].SaveAsImageByWH(700, 400)
image.Save(f"RasterImages/ToImage_{i}.png")
ppt.Dispose()

与光栅图不同,SVG(Scalable Vector Graphics) 是基于路径的图形格式,具备无限缩放不失真的优势,非常适用于响应式设计、技术图表及任意尺寸打印输出。
以下代码示例展示了如何将每张幻灯片保存为独立的 SVG 文件:
from spire.presentation import *
# 加载 PowerPoint 文件
ppt = Presentation()
ppt.LoadFromFile("输入文档.pptx")
# 遍历幻灯片并保存为 SVG 图片
for i in range(ppt.Slides.Count):
image = ppt.Slides[i].SaveToSVG()
image.Save(f"VectorImages/ToSVG_{i}.svg")
ppt.Dispose()

如果演示文稿包含备注信息,可在转换为 SVG 时选择保留这些备注。在转换前添加以下代码即可:
# 启用备注保留功能,转换时保留备注内容
ppt.IsNoteRetained = True
你还可以提取幻灯片中的单个图形(如形状、文本框、图表等),并将它们单独保存为图片。这对于导出特定内容如徽标、流程图等特别实用。
详细实现方式,请参考我们的相关教程:Python将 PowerPoint 幻灯片中的形状保存为图片。
使用 Python 将 PowerPoint 幻灯片或其中的图形元素转换为图片,能帮助开发者轻松将演示文稿内容集成到各类数字平台中。无论是构建网页中的幻灯片预览、进行内容归档,还是为打印与共享做准备,这款功能强大的库都能提供高效、可靠的解决方案。
通过 Spire.Presentation,你可以轻松实现以下图片导出功能:
该库不仅支持高质量图片输出,还允许灵活设置图片尺寸,为 Python 开发者在内容再利用、格式转换和跨平台展示方面提供了极大的便利和自由度。
A1:你可以使用 Spire.Presentation 库,通过 SaveAsImage() 方法将每张幻灯片导出为 PNG 图片,该方法支持高质量图片输出。
A2:可以。你只需在保存图片时更改文件扩展名为 .jpg 或 .bmp 即可。
A3:当然可以。你可以提取指定的形状,并将其保存为 PNG 或其他图片格式。详情请参考我们关于图形导出的教程。
A4:可以。你可以使用 SaveAsImageByWH(width, height) 方法,自定义输出图片的宽度和高度(单位为像素),适合缩略图或打印布局场景。
A5:不需要。Spire.Presentation 是一个独立运行的库,无需安装 Microsoft Office 或 PowerPoint 即可完成所有操作。
如需体验 Spire.Presentation for Python 的完整功能(无评估限制),你可以该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。。
通过将大型 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
Spire.PDF for Python 提供了一个名为 PdfDocument.Split() 的方法,用于将包含多页内容的 PDF 文档分割成多个各自仅含单页内容的 PDF 文件。以下是拆分的详细步骤:
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 加载一个 PDF 文件
doc.LoadFromFile("示例.pdf")
# 将 PDF 文件拆分为多个单页的 PDF 文件
doc.Split("输出/拆分结果-{0}.pdf", 1)
# 关闭 PdfDocument 对象
doc.Close()
要将一个 PDF 文件按页码范围拆分为两个或多个 PDF 文件,您需要创建两个或多个新的 PDF 文件,然后通过 InsertPage() 以及 InsertPageRange() 方法从源 PDF 中导出指定的页面或页码范围到新创建的 PDF 文件中。以下是详细的步骤:
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 加载一个 PDF 文件
doc.LoadFromFile("示例.pdf")
# 创建三个 PdfDocument 对象
newDoc_1 = PdfDocument()
newDoc_2 = PdfDocument()
newDoc_3 = PdfDocument()
# 将源文件的第一页插入到第一个文档中
newDoc_1.InsertPage(doc, 0)
# 将源文件的第2-4页插入到第二个文档中
newDoc_2.InsertPageRange(doc, 1, 3)
# 将源文件的剩余页插入到第三个文档中
newDoc_3.InsertPageRange(doc, 4, doc.Pages.Count - 1)
# 保存这三个文档
newDoc_1.SaveToFile("输出/拆分结果-1.pdf")
newDoc_2.SaveToFile("输出/拆分结果-2.pdf")
newDoc_3.SaveToFile("输出/拆分结果-3.pdf")
# 关闭 PdfDocument 对象
doc.Close()
newDoc_1.Close()
newDoc_2.Close()
newDoc_3.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
向 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 提供了 BookmarkStart 来表示书签的开始,并提供了 BookmarkEnd 来表示书签的结束。若要为段落添加书签,请将 BookmarkStart 对象放在段落的开头,并在段落末尾追加 BookmarkEnd 对象。以下是详细步骤:
# 创建一个文档对象
doc = Document()
# 从文件中加载文档内容
doc.LoadFromFile('output/data/test.docx')
# 获取文档的第一个段落
paragraph = doc.Sections[0].Paragraphs[1]
# 在段落中添加一个书签开始标记
start = paragraph.AppendBookmarkStart('myBookmark')
# 将书签开始标记插入到段落的开头
paragraph.Items.Insert(0, start)
# 在段落中添加一个书签结束标记
paragraph.AppendBookmarkEnd('myBookmark')
# 将修改后的文档保存到文件中,格式为Docx2019
doc.SaveToFile('output/AddBookmarkToParagraph.docx', FileFormat.Docx2019)
要为一段文本添加书签,您首先需要从文档中获取文本并获取其在其所有者段落中的位置。然后在它前面放置一个 BookmarkStart,在它之后放置一个 BookmarEnd。详细步骤如下:
from spire.doc import *
from spire.doc.common import *
# 创建一个文档对象
doc = Document()
# 从文件中加载文档内容
doc.LoadFromFile('output/data/test.docx')
# 要查找的字符串
stringToFind = '成都冰蓝科技'
# 在文档中查找所有匹配的字符串
finds = doc.FindAllString(stringToFind, False, True)
# 获取第一个匹配的字符串
specificText = finds[0]
# 获取包含特定文本的段落
paragraph = specificText.GetAsOneRange().OwnerParagraph
# 获取特定文本在段落中的索引位置
index = paragraph.ChildObjects.IndexOf(specificText.GetAsOneRange())
# 在段落中添加一个书签开始标记
start = paragraph.AppendBookmarkStart("myBookmark")
# 将书签开始标记插入到特定文本之前
paragraph.ChildObjects.Insert(index, start)
# 在段落中添加一个书签结束标记
end = paragraph.AppendBookmarkEnd("myBookmark")
# 将书签结束标记插入到特定文本之后
paragraph.ChildObjects.Insert(index + 2, end)
# 将修改后的文档保存到文件中,格式为Docx2019
doc.SaveToFile("output/AddBookmarkToSelectedText.docx", FileFormat.Docx2019)
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.PDF for Python 10.1.1 已发布。本次更新新增自定义异常类 SpireException。详情请阅读以下内容。
新功能:
Spire.Doc for Python 12.1.0已发布。本次更新新增了自定义异常类SpireException。此外,还修复了设置表格边框无效的问题。详情请阅读以下内容。
新功能:
问题修复:
超链接是一种有用的工具,用于在文档的不同部分或外部资源(如网站或文件)之间进行连接和导航。但是,在某些情况下,您可能需要修改 Word 文档中的超链接。例如,您可能需要更新超链接的文本或 URL 以确保准确性,或者更改超链接的外观以提高可读性。本文将介绍如何使用 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 识别为 FormField 对象。为了修改特定的超链接,我们需要检索文档中的所有超链接,并通过其索引获取所需的超链接。可以通过 FormField.Text 属性和 FormField.Code 属性重置超链接的显示文本和 URL。以下是使用 Spire.Doc for Python 更新 Word 文档中超链接的详细步骤:
from spire.doc import *
from spire.doc.common import *
# 创建一个文档对象
doc = Document()
# 从文件加载文档内容
doc.LoadFromFile("data/test.docx")
# 初始化一个空列表,用于存储超链接
hyperlinks = []
# 遍历文档的所有章节
for i in range(doc.Sections.Count):
# 获取当前章节
section = doc.Sections.get_Item(i)
# 遍历章节中的所有子对象
for j in range(section.Body.ChildObjects.Count):
# 获取当前子对象
sec = section.Body.ChildObjects.get_Item(j)
# 如果子对象是段落类型
if sec.DocumentObjectType == DocumentObjectType.Paragraph:
# 遍历段落中的所有子对象
for k in range((sec if isinstance(sec, Paragraph) else None).ChildObjects.Count):
# 获取当前子对象
para = (sec if isinstance(sec, Paragraph)
else None).ChildObjects.get_Item(k)
# 如果子对象是字段类型
if para.DocumentObjectType == DocumentObjectType.Field:
# 获取当前字段对象
field = para if isinstance(para, Field) else None
# 如果字段类型是超链接类型
if field.Type == FieldType.FieldHyperlink:
# 将字段对象添加到超链接列表中
hyperlinks.append(field)
# 获取第一个超链接对象
hyperlink = hyperlinks[0]
# 设置超链接的文本为 "https://www.e-iceblue.cn"
hyperlink.FieldText = "https://www.e-iceblue.cn"
# 设置超链接的代码为 "HYPERLINK \"https://www.e-iceblue.cn/about-us.html\""
hyperlink.Code ="HYPERLINK \"" + "https://www.e-iceblue.cn/about-us.html" + "\""
# 将修改后的文档保存到文件中
doc.SaveToFile("output/UpdateHyperlink.docx", FileFormat.Docx)
# 关闭文档对象
doc.Close()
获取超链接后,可以通过 FormField.CharacterFormat 对象轻松更改其外观。具体而言,CharacterFormat 对象提供 TextColor、FontName、FontSize、UnderlineStyle 等属性来更改超链接字符的样式。以下是详细步骤:
from spire.doc import *
from spire.doc.common import *
# 创建一个文档对象
doc = Document()
# 从文件加载文档内容
doc.LoadFromFile("data/test.docx")
# 初始化一个空列表,用于存储超链接
hyperlinks = []
# 遍历文档的所有章节
for i in range(doc.Sections.Count):
# 获取当前章节
section = doc.Sections.get_Item(i)
# 遍历章节中的所有子对象
for j in range(section.Body.ChildObjects.Count):
# 获取当前子对象
sec = section.Body.ChildObjects.get_Item(j)
# 如果子对象是段落类型
if sec.DocumentObjectType == DocumentObjectType.Paragraph:
# 遍历段落中的所有子对象
for k in range((sec if isinstance(sec, Paragraph) else None).ChildObjects.Count):
# 获取当前子对象
para = (sec if isinstance(sec, Paragraph)
else None).ChildObjects.get_Item(k)
# 如果子对象是字段类型
if para.DocumentObjectType == DocumentObjectType.Field:
# 获取当前字段对象
field = para if isinstance(para, Field) else None
# 如果字段类型是超链接类型
if field.Type == FieldType.FieldHyperlink:
# 将字段对象添加到超链接列表中
hyperlinks.append(field)
# 获取第一个超链接对象
hyperlink = hyperlinks[0]
# 设置超链接的下划线样式为无
hyperlink.CharacterFormat.UnderlineStyle = UnderlineStyle.none
# 设置超链接的文本颜色为紫色
hyperlink.CharacterFormat.TextColor = Color.get_Purple()
# 设置超链接为粗体
hyperlink.CharacterFormat.Bold = True
# 将修改后的文档保存到文件中
doc.SaveToFile("output/ChangeAppearance.docx", FileFormat.Docx)
# 关闭文档对象
doc.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
PDF 书签是优化阅读导航的关键工具。展开书签时,用户点击标题即可跳转至相关章节并展示下级目录,实现对文档深度结构的直观访问与定位。而折叠书签则可一键隐藏当前层级下的所有子书签信息,简化视图并聚焦更高层次结构。这两种操作协同作用,显著提升复杂、多层次 PDF 文档的阅读效率和体验。本文将介绍如何使用 Spire.PDF for Python 以编程方式展开和折叠 PDF 中的书签。
本教程需要 Spire.PDF for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.PDF for Python
Spire.PDF for Python 提供了一个名为 BookMarkExpandOrCollapse 的属性,用于展开或折叠书签。当该属性设置为 True 时,会自动展开所有书签;反之,若将其设置为 False,则会收起所有书签。以下为在 PDF 文档中展开书签的具体步骤说明。
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 加载一个 PDF 文件
doc.LoadFromFile("书签.pdf")
# 将 BookMarkExpandOrCollapse 设置为 True 以展开所有书签,设置为 False 以折叠所有书签
doc.ViewerPreferences.BookMarkExpandOrCollapse = True
# 保存文档
outputFile="展开书签1.pdf"
doc.SaveToFile(outputFile)
# 关闭文档
doc.Close()
如果需要仅展开或折叠某个特定书签,你可以获取到指定的书签,并设置其 ExpandBookmark 属性。以下是详细的步骤:
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 加载一个 PDF 文件
doc.LoadFromFile("书签.pdf")
# 将 BookMarkExpandOrCollapse 设置为 True,展开第三个书签
doc.Bookmarks.get_Item(1).ExpandBookmark = True
# 保存文档
outputFile="展开书签2.pdf"
doc.SaveToFile(outputFile)
# 关闭文档
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
使用 Document.Layers.AddLayer() 方法可以向 PDF 文档添加图层。在创建图层对象之后,您可以在其上绘制文本、图片、字段或其他元素来形成其外观。使用 Spire.PDF for Python 添加图层到 PDF 的详细步骤如下所示。
from spire.pdf.common import *
from spire.pdf import *
def AddLayerWatermark(pdfDocument):
# 添加一个名为"水印图层"的图层
layer = pdfDocument.Layers.AddLayer("水印图层")
# 创建字体实例,字体设置为宋体,大小为50.0,加粗
font = PdfTrueTypeFont("宋体", 50.0, 1, True)
# 水印文本内容
watermarkText = "内部使用"
# 测量水印文本在给定字体下的尺寸
fontSize = font.MeasureString(watermarkText)
# 获取PDF文档中的总页数
pageCount = pdfDocument.Pages.Count
# 遍历每一页
for i in range(0, pageCount):
# 获取当前页对象
page = pdfDocument .Pages.get_Item(i)
# 在当前页上创建图形画布
canvas = layer.CreateGraphics(page.Canvas)
# 计算水印文本的横向位置
x = (canvas.Size.Width - fontSize.Width) / 2
# 计算水印文本的纵向位置
y = (canvas.Size.Height - fontSize.Height) / 2
# 在画布上绘制水印文本
canvas.DrawString(watermarkText, font, PdfBrushes.get_Red(), x, y )
# 创建一个PdfDocument实例
pdf = PdfDocument()
# 加载输入的PDF文件
pdf.LoadFromFile("输入文档.pdf")
# 调用添加水印的函数
AddLayerWatermark(pdf)
# 将带有水印的PDF文件保存为新的文件
pdf.SaveToFile("添加图层.pdf", FileFormat.PDF)
pdf.Close()
要控制 PDF 文档中图层的可见性,您可以使用 PdfDocument.Layers[index].Visibility 属性。将其设置为 off 以隐藏图层,或将其设置为 on 以取消隐藏图层。具体步骤如下:
from spire.pdf.common import *
from spire.pdf import *
# 创建一个PdfDocument实例
pdfDocument = PdfDocument()
# 从文件加载PDF文档
pdfDocument.LoadFromFile("图层.pdf")
# 将第一个图层的可见性设置为隐藏
pdfDocument.Layers.get_Item(0).Visibility = PdfVisibility.Off
# 将隐藏图层后的文档保存为新的PDF文件
pdfDocument.SaveToFile("隐藏图层.pdf", FileFormat.PDF)
pdfDocument.Close()如果不再需要某个图层,您可以使用 PdfDocument.Layers.RemoveLayer() 方法将其移除。以下是详细步骤:
from spire.pdf.common import *
from spire.pdf import *
# 创建一个PdfDocument实例
pdfDocument = PdfDocument()
# 从文件加载PDF文档
pdfDocument.LoadFromFile("图层.pdf")
# 删除文档中的第一个图层
pdfDocument.Layers.RemoveLayer(pdfDocument.Layers.get_Item(0).Name)
# 将删除图层后的文档保存为新的PDF文件
pdfDocument.SaveToFile("删除图层.pdf", FileFormat.PDF)
pdfDocument.Close()如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。