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

Spire.Cloud 纯前端文档控件

形状在 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 文档中绘制线条

Spire.Pdf for Pyhthon 提供了 PdfPageBase.Canvas.DrawLine() 方法绘制线条,通过指定起始点和结束点的坐标以及画笔对象,可以绘制多样化的线段。以下是绘制线条的详细步骤:

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

# 创建PDF文档对象
doc = PdfDocument()

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

# 保存当前绘图状态
state = page.Canvas.Save()

# 线的起始点 x 坐标
x = 100.0  

# 线的起始点 y 坐标
y = 50.0   

# 线的长度
width = 300.0  

# 创建画笔对象,使用深天蓝色和线宽为3.0
pen = PdfPen(PdfRGBColor(Color.get_DeepSkyBlue()), 3.0)  

# 绘制实线
page.Canvas.DrawLine(pen, x, y, x + width, y)

# 设置画笔样式为虚线
pen.DashStyle = PdfDashStyle.Dash  

# 设置虚线样式为[1, 4, 1]
pen.DashPattern = [1, 4, 1]  

# 虚线起始点 y 坐标
y = 80.0  

# 绘制虚线
page.Canvas.DrawLine(pen, x, y, x + width, y)

# 恢复之前保存的绘图状态
page.Canvas.Restore(state)

# 将文档保存到文件
doc.SaveToFile("绘制线条.pdf")

# 关闭文档并释放资源
doc.Close()
doc.Dispose()

Python 在 PDF 文档中绘制形状

Python 在 PDF 文档中绘制饼形

通过调用 PdfPageBase.Canvas.DrawPie() 方法并传递合适的参数,可以实现在指定页面上绘制具有不同位置、尺寸和角度的饼形图形。下面是绘制饼形的详细步骤:

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

# 创建PDF文档对象
doc = PdfDocument()

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

# 保存当前绘图状态
state = page.Canvas.Save()

# 创建画笔对象
pen = PdfPen(PdfRGBColor(Color.get_DarkRed()), 2.0)

# 绘制第一个饼形
page.Canvas.DrawPie(pen, 10.0, 30.0, 130.0, 130.0, 360.0, 300.0)

# 绘制第二个饼形
page.Canvas.DrawPie(pen, 160.0, 30.0, 130.0, 130.0, 360.0, 330.0)

# 绘制第三个饼形
page.Canvas.DrawPie(pen, 320.0, 30.0, 130.0, 130.0, 360.0, 360.0)

# 恢复之前保存的绘图状态
page.Canvas.Restore(state)

# 将文档保存到文件
doc.SaveToFile("绘制饼形形状.pdf")

# 关闭文档并释放资源
doc.Close()
doc.Dispose()

Python 在 PDF 文档中绘制形状

Python 在 PDF 文档中绘制矩形

Spire.Pdf for Python 提供了 PdfPageBase.Canvas.DrawRectangle() 方法来绘制矩形形状,通过传递位置和尺寸参数来定义矩形的位置和大小。以下是绘制矩形的详细步骤:

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

# 创建PDF文档对象
doc = PdfDocument()

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

# 保存当前绘图状态
state = page.Canvas.Save()

# 创建画笔对象,使用巧克力色和线宽为1.5
pen = PdfPen(PdfRGBColor(Color.get_Chocolate()), 1.5)

# 用画笔绘制一个矩形的轮廓
page.Canvas.DrawRectangle(pen, RectangleF(PointF(20.0, 30.0), SizeF(150.0, 120.0)))

# 创建一个线性渐变刷子对象
linearGradientBrush = PdfLinearGradientBrush(PointF(200.0, 30.0), PointF(350.0, 150.0), PdfRGBColor(Color.get_Green()), PdfRGBColor(Color.get_Red()))

# 用线性渐变刷子绘制一个填充式矩形
page.Canvas.DrawRectangle(linearGradientBrush, RectangleF(PointF(200.0, 30.0), SizeF(150.0, 120.0)))

# 创建一个径向渐变刷子对象
radialGradientBrush = PdfRadialGradientBrush(PointF(380.0, 30.0), 150.0, PointF(530.0, 150.0), 150.0, PdfRGBColor(Color.get_Orange()) , PdfRGBColor(Color.get_Blue()))

# 用径向渐变刷子绘制一个填充式矩形
page.Canvas.DrawRectangle(radialGradientBrush, RectangleF(PointF(380.0, 30.0), SizeF(150.0, 120.0)))

# 恢复之前保存的绘图状态
page.Canvas.Restore(state)

# 将文档保存到文件
doc.SaveToFile("绘制矩形形状.pdf")

# 关闭文档并释放资源
doc.Close()
doc.Dispose()

Python 在 PDF 文档中绘制形状

Python 在 PDF 文档中绘制椭圆形

Spire.Pdf for Python 提供了 PdfPageBase.Canvas.DrawEllipse() 方法来绘制椭圆形状, 通过使用画笔或者填充刷子来绘制不同样式的椭圆形状。以下是绘制椭圆的详细步骤:

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

# 创建PDF文档对象
doc = PdfDocument()

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

# 保存当前绘图状态
state = page.Canvas.Save()

# 创建画笔对象
pen = PdfPens.get_CadetBlue()

# 绘制椭圆形状轮廓
page.Canvas.DrawEllipse(pen, 50.0, 30.0, 120.0, 100.0)

# 创建填充刷子对象
brush = PdfSolidBrush(PdfRGBColor(Color.get_CadetBlue()))

# 绘制填充的椭圆形状
page.Canvas.DrawEllipse(brush, 180.0, 30.0, 120.0, 100.0)

# 恢复之前保存的绘图状态
page.Canvas.Restore(state)

# 将文档保存到文件
doc.SaveToFile("绘制椭圆形状.pdf")

# 关闭文档并释放资源
doc.Close()
doc.Dispose()

Python 在 PDF 文档中绘制形状

申请临时 License

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

Spire.PDFViewer 7.12.6 已发布。本次更新新增支持获取鼠标点击时相对于 PDF 页面内容的坐标。详情请阅读以下内容。

新功能:


获取Spire.PDFViewer 7.12.6请点击:

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

Spire.OCR 1.9.1已发布。在该版本中,Spire.OCR for .NET Standard DLL 新增了对Linux操作系统的支持。详情请阅读以下内容。

新功能:


获取 Spire.OCR 1.9.1请点击:

https://www.e-iceblue.com/Download/ocr-for-net.html

合并和拆分表格单元格是 PowerPoint 中两个非常重要的功能,它们可以帮助用户更有效地组织和展示数据。合并单元格功能使用户能够创建更大的单元格,以容纳更多的数据或创建标题行以实现更好的分类。与此相反,拆分单元格功能使用户能够将单元格分割为较小的单元格,以展示特定的细节如单独的数据项或子类别。这些操作提升了幻灯片的视觉吸引力和清晰度,有助于观众更好地理解和分析所呈现的数据。这篇文章将介绍如何使用 Python 和 Spire.Presentation for Python 在 PowerPoint 中合并和拆分表格单元格。

安装 Spire.Presentation for Python

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

pip install Spire.Presentation

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

Python 在 PowerPoint 中合并表格单元格

Spire.Presentation for Python 提供了 ITable[columnIndex, rowIndex] 属性,用于获取特定的表格单元格。获取后,你可以使用 ITable.MergeCells(startCell, endCell, allowSplitting) 方法将它们合并为一个更大的单元格。具体步骤如下。

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

# 创建Presentation对象
ppt = Presentation()

# 加载PowerPoint演示文稿
ppt.LoadFromFile("表格1.pptx")

# 获取第一张幻灯片
slide = ppt.Slides[0]

# 找到第一张幻灯片上的表格
table = None
for shape in slide.Shapes:
    if isinstance(shape, ITable):
        table = shape
        # 获取第2列第2行的单元格
        cell1 = table[1, 1]
        # 获取第2列第3行的单元格
        cell2 = table[1, 2]
        # 检查单元格内容是否相同
        if cell1.TextFrame.Text == cell2.TextFrame.Text:
            # 清空第二个单元格中的文本
            cell2.TextFrame.Paragraphs.Clear()
        # 合并单元格
        table.MergeCells(cell1, cell2, True)

# 将结果演示文稿保存到新文件
ppt.SaveToFile("合并单元格.pptx", FileFormat.Pptx2016)
ppt.Dispose()

Python 在 PowerPoint 中合并和拆分表格单元格

Python 在 PowerPoint 中拆分表格单元格

除了合并特定的表格单元格外,你还可以使用 Cell.Split(rowCount, colunmCount) 方法将特定的表格单元格拆分为较小的单元格。具体步骤如下。

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

# 创建Presentation对象
ppt = Presentation()

# 加载PowerPoint演示文稿
ppt.LoadFromFile("表格2.pptx")

# 获取第一张幻灯片
slide = ppt.Slides[0]

# 找到第一张幻灯片上的表格
table = None
for shape in slide.Shapes:
    if isinstance(shape, ITable):
        table = shape
        # 获取第2列第3行的单元格
        cell = table[1, 2]
        # 将单元格拆分为3行2列
        cell.Split(3, 2)

# 将结果演示文稿保存到新文件
ppt.SaveToFile("拆分单元格.pptx", FileFormat.Pptx2016)
ppt.Dispose()

Python 在 PowerPoint 中合并和拆分表格单元格

申请临时 License

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

Spire.Doc for Python 12.2.0已发布。本次更新修复了Python 3.7无法安装产品包的问题。详情请阅读以下内容。

问题修复:


获取Spire.Doc for Python 12.2.0请点击:

https://www.e-iceblue.cn/Downloads/Spire-Doc-Python.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

Python 在 PDF 文档中添加图像图章

Spire.PDF for Python 提供了 PdfRubberStampAnnotation 类用于在 PDF 文档中表示橡皮图章。为了创建橡皮图章的外观,需要使用 PdfTemplate 类。PdfTemplate 是一块画布,你可以在上面绘制任何你想要的信息,如文本、图像、日期和时间。

图像图章可以包括徽标、签名、水印或其他任何你想叠加到 PDF 上的自定义图形。使用 Spire.PDF for Python 为 PDF 添加图像图章的主要步骤如下。

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

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

# 从文件加载输入文档
doc.LoadFromFile("输入文档.pdf")

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

# 从文件加载图片
image = PdfImage.FromFile("图片图章.png")

# 获取图片的宽度和高度
width = float(image.Width)
height = float(image.Height)

# 创建一个PdfTemplate对象
template = PdfTemplate(width, height, True)
# 在模板上绘制图片
template.Graphics.DrawImage(image, 0.0, 0.0, width, height)

# 创建一个矩形区域
rect = RectangleF(float(page.ActualSize.Width - width - 50), float(page.ActualSize.Height - height - 40), width, height)

# 创建一个PdfRubberStampAnnotation对象
stamp = PdfRubberStampAnnotation(rect)

# 创建一个PdfAppearance对象
pdfAppearance = PdfAppearance(stamp)

# 设置PdfAppearance的Normal属性为模板
pdfAppearance.Normal = template

# 设置PdfRubberStampAnnotation的Appearance属性为PdfAppearance对象
stamp.Appearance = pdfAppearance

# 将图章注释添加到页面的注释集合中
page.AnnotationsWidget.Add(stamp)

# 将修改后的PDF文档保存到文件
doc.SaveToFile("图片图章.pdf")
doc.Close()

Python 为 PDF 文档添加图章

Python 在 PDF 文档中添加动态图章

与静态图章不同,动态图章可包含日期、时间或用户输入等可变信息。以下是使用 Spire.PDF for Python 在 PDF 中创建动态图章的步骤。

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

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

# 从文件加载输入文档
doc.LoadFromFile("输入文档.pdf")

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

# 创建一个PdfTemplate对象,设置宽度和高度
template = PdfTemplate(220.0, 50.0, True)

# 创建两个PdfTrueTypeFont对象,用于设置文本字体
font1 = PdfTrueTypeFont("微软雅黑", 16.0, 0, True)
font2 = PdfTrueTypeFont("宋体", 10.0, 0, True)

# 创建一个PdfSolidBrush对象,用于设置填充颜色
solidBrush = PdfSolidBrush(PdfRGBColor(Color.get_Blue()))

# 创建一个矩形对象,用于绘制渐变背景
rectangle1 = RectangleF(PointF(0.0, 0.0), template.Size)

# 创建一个PdfLinearGradientBrush对象,用于设置线性渐变背景
linearGradientBrush = PdfLinearGradientBrush(rectangle1, PdfRGBColor(Color.get_White()), PdfRGBColor(Color.get_LightBlue()), PdfLinearGradientMode.Horizontal)

# 创建一个PdfPen对象,用于设置边框颜色和样式
pen = PdfPen(solidBrush)

# 设置圆角矩形的圆角半径
CornerRadius = 10.0

# 创建一个PdfPath对象,用于绘制圆角矩形路径
path = PdfPath()

# 添加圆角矩形的四个弧线段和一条直线段
path.AddArc(template.GetBounds().X, template.GetBounds().Y, CornerRadius, CornerRadius, 180.0, 90.0)
path.AddArc(template.GetBounds().X + template.Width - CornerRadius, template.GetBounds().Y, CornerRadius, CornerRadius, 270.0, 90.0)
path.AddArc(template.GetBounds().X + template.Width - CornerRadius, template.GetBounds().Y + template.Height - CornerRadius, CornerRadius, CornerRadius, 0.0, 90.0)
path.AddArc(template.GetBounds().X, template.GetBounds().Y + template.Height - CornerRadius, CornerRadius, CornerRadius, 90.0, 90.0)
path.AddLine(template.GetBounds().X, template.GetBounds().Y + template.Height - CornerRadius, template.GetBounds().X, template.GetBounds().Y + CornerRadius / 2)

# 在模板上绘制边框和渐变背景
template.Graphics.DrawPath(pen, path)
template.Graphics.DrawPath(linearGradientBrush, path)

# 设置要绘制的文本内容
string1 = "已核准 \n"
string2 = "市场营销部 " + DateTime.get_Now().ToString("HH:mm, MMM ddd, yyyy")

# 在模板上绘制文本
template.Graphics.DrawString(string1, font1, solidBrush, PointF(5.0, 5.0))
template.Graphics.DrawString(string2, font2, solidBrush, PointF(2.0, 28.0))

# 创建一个矩形区域,用于放置图章注释
rectangle2 = RectangleF(float(page.ActualSize.Width - 220.0 - 50.0), float(page.ActualSize.Height - 50.0 - 100.0), 220.0, 50.0)

# 创建一个PdfRubberStampAnnotation对象
stamp = PdfRubberStampAnnotation(rectangle2)

# 创建一个PdfAppearance对象
appearance = PdfAppearance(stamp)

# 设置PdfAppearance的Normal属性为模板
appearance.Normal = template

# 设置PdfRubberStampAnnotation的Appearance属性为PdfAppearance对象
stamp.Appearance = appearance

# 将图章注释添加到页面的注释集合中
page.AnnotationsWidget.Add(stamp)

# 将修改后的PDF文档保存到文件
doc.SaveToFile("动态图章.pdf", FileFormat.PDF)
doc.Close()

Python 为 PDF 文档添加图章

申请临时 License

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

Spire.Office 9.2.0 已发布。在该版本中,Spire.XLS 在 FileFormat 枚举中增加 XLT、XLTX、XLTM 文档格式,同时支持设置页眉页脚图片的剪切位置;Spire.Presentation 支持在 PPTX 中嵌入字体;Spire.PDF 增强了 PDF 到 PDF/A、OFD 以及图片的转换功能;Spire.Doc 增强了 Word 到 PDF 和 HTML 的转换功能。此外,许多已知问题也在该版本中成功修复。详情请阅读以下内容。

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

版本信息如下:

获取Spire.Office 9.2.0请点击:

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


Spire.PDF

问题修复:


Spire.Doc

新功能:

问题修复:


Spire.XLS

新功能:

问题修复:


Spire.Presentation

新功能:

功能调整:

问题修复:

Spire.Doc for C++ 12.2.0 已发布。本次更新修复了在 Linux 系统上字符串丢失的问题。详情请阅读以下内容。

问题修复:


获取Spire.Doc for C++ 12.2.0请点击:

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

在 Word 中,文本框是指一种可移动、可调大小的文字或图形容器。使用文本框,可以在一页上放置数个文字块,或使文字按与文档中其他文字不同的方向排列。您可以设置文本框在 Word 中的位置与样式,来实现不同的排版效果。在这篇文章中,我们将探讨如何使用 Spire.Doc for 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 中添加文本框

在 Word 中,Textbox 属于 段落(Paragrapgh),因此您可以使用 Paragraph.AppendTextBox() 方法将文本框添加到指定的段落。然后向文本框内插入想要填充的内容,比如文本、表格、图片等,最后设置文本框的环绕方式以及相关属性。使用 Spire.Doc for Python 创建文本框的详细步骤如下:

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

outputFile = "Textbox.docx"

# 创建Document对象并加载文档
document = Document()
document.LoadFromFile("F:\\data\\川菜.docx")

# 获取第一个section
section = document.Sections.get_Item(0)

# 通过下标获取section的指定段落
paragraph = section.Paragraphs[1] if section.Paragraphs.Count > 0 else section.AddParagraph()

# 插入文本框,并设置宽高
textBox = paragraph.AppendTextBox(240, 200)

# 设置文本框环绕模式和水平位置
textBox.TextWrappingStyle = TextWrappingStyle.Square
textBox.HorizontalAlignment = ShapeHorizontalAlignment.Right

# 设置文本框轮廓样式
textBox.Format.LineColor = Color.get_Gray()
textBox.Format.LineStyle = TextBoxLineStyle.Simple

# 设置文本框的填充颜色
textBox.Format.FillColor = Color.get_DarkSeaGreen()

# 在文本框中添加段落
para = textBox.Body.AddParagraph()

# 在段落内部的第一个位置插入图片并居中
pic = para.AppendPicture("F:\\data\\冒菜.jpg")
para.Format.HorizontalAlignment = HorizontalAlignment.Center

# 设定图片宽高
pic.Width = 200
pic.Height = 150

# 再添加一个段落设置文本
para = textBox.Body.AddParagraph()

# 在段落内添加文本并设置居中
txtrg = para.AppendText("冒菜")
para.Format.HorizontalAlignment = HorizontalAlignment.Center

# 设置字体样式
txtrg.CharacterFormat.FontName = "simsun"
txtrg.CharacterFormat.FontSize = 14
txtrg.CharacterFormat.TextColor = Color.get_White()

# 保存文件
document.SaveToFile(outputFile, FileFormat.Docx)
# 关闭并释放资源
document.Close()
document.Dispose()

Python 添加、删除 Word 中的文本框

Python 删除 Word 中的文本框

Spire.Doc for Python 提供了通过索引删除指定文本框和删除全部文本框的方法,具体请参考下面的步骤:

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

outputFile = "移除文本框.docx"
inputFile = "F:\data\Textbox.docx"

#  创建Document对象并加载文件
doc = Document()
doc.LoadFromFile(inputFile)

# 获取文档中的文本框集合
doc.TextBoxes.RemoveAt(0)

# 清除所有文本框
# Doc.TextBoxes.Clear()
# 保存文件
doc.SaveToFile(outputFile, FileFormat.Docx)
# 关闭并释放文件
doc.Close()
doc.Dispose()

Python 添加、删除 Word 中的文本框

申请临时 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 文档中添加超链接

使用 Spire.PDF for Python,您可以在 PDF 文档中添加网页链接、电子邮件链接和文件链接。以下是详细步骤:

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

# 创建一个PdfDocument对象
pdf = PdfDocument()

# 添加一个页面
page = pdf.Pages.Add()

# 设置初始的y坐标和x坐标
y = 30.0
x = 10.0

# 创建字体对象
font = PdfTrueTypeFont("宋体", 14.0, PdfFontStyle.Regular, True)
font1 = PdfTrueTypeFont("Arial", 14.0, PdfFontStyle.Underline, True)
font2 = PdfTrueTypeFont("宋体", 14.0, PdfFontStyle.Underline, True)

# 添加简单文字链接
label = "简单文字链接: "
format = PdfStringFormat()
format.MeasureTrailingSpaces = True
page.Canvas.DrawString(label, font, PdfBrushes.get_Orange(), 0.0, y, format)
x = font.MeasureString(label, format).Width
url = "https://www.e-iceblue.cn"
page.Canvas.DrawString(url, font1, PdfBrushes.get_Blue(), x, y)
y = y + 28

# 添加超文本链接
label = "超文本链接:"
page.Canvas.DrawString(label, font, PdfBrushes.get_Orange(), 0.0, y, format)
x = font.MeasureString(label, format).Width
webLink = PdfTextWebLink()
webLink.Text = "主页"
webLink.Url = url
webLink.Font = font2
webLink.Brush = PdfBrushes.get_Blue()
webLink.DrawTextWebLink(page.Canvas, PointF(x, y))
y = y + 28

# 添加邮件链接
label = "邮件链接: "
page.Canvas.DrawString(label, font, PdfBrushes.get_Orange(), 0.0, y, format)
x = font.MeasureString(label, format).Width
link = PdfTextWebLink()
link.Text = "联系我们"
link.Url = "mailto:support @e-iceblue.com"
link.Font = font2
link.Brush = PdfBrushes.get_Blue()
link.DrawTextWebLink(page.Canvas, PointF(x, y))
y = y + 28

# 添加文档链接
label = "文档链接: "
page.Canvas.DrawString(label, font, PdfBrushes.get_Orange(), 0.0, y, format)
x = font.MeasureString(label, format).Width
text = "打开文件"
location = PointF(x, y)
size = font2.MeasureString(text)
linkBounds = RectangleF(location, size)
fileLink = PdfFileLinkAnnotation(linkBounds, "C:\\Users\\Administrator\\Desktop\\input.xlsx")
fileLink.Border = PdfAnnotationBorder(0.0)
page.AnnotationsWidget.Add(fileLink)
page.Canvas.DrawString(text, font2, PdfBrushes.get_Blue(), x, y)

# 将修改后的PDF文档保存到文件
pdf.SaveToFile("添加链接到PDF.pdf")
pdf.Close()

Python 为 PDF 添加超链接

Python 在 PDF 现有文本中插入超链接

要在 PDF 文档中的现有文本上添加超链接,首先需要确定文本的位置。获得位置后,就可以创建一个带有链接的 PdfUriAnnotation 类对象,并将其添加到位置上。以下是详细步骤:

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

# 创建一个PdfDocument对象
pdf = PdfDocument()
# 从文件加载PDF文档
pdf.LoadFromFile("示例文档.pdf")
# 获取第一页
page = pdf.Pages.get_Item(0)
# 为当前页面创建一个PdfTextFinder对象
finds = PdfTextFinder(page)
# 设置搜索参数为忽略大小写
finds.Options.Parameter = TextFindParameter.IgnoreCase
# 在页面中查找指定文本的所有出现
fragments = finds.Find("Spire.PDF for Python")
# 遍历查找到的文本片段,并为每个出现创建超链接注释
for fragment in fragments:
    # 获取找到的文本的边界
    bounds = fragment.Bounds
    for bound in bounds:
        # 为找到的文本创建PdfUriAnnotation并设置其属性
        uri = PdfUriAnnotation(bound)
        # 设置超链接的URL
        uri.Uri = "https://www.e-iceblue.cn/Introduce/Spire-PDF-Python.html"
        # 设置超链接边框的宽度
        uri.Border = PdfAnnotationBorder(1.0)
        # 设置超链接的颜色
        uri.Color = PdfRGBColor(Color.get_Blue())
        page.AnnotationsWidget.Add(uri)
# 将修改后的PDF文档保存到文件
pdf.SaveToFile("查找文本并添加超链接.pdf")
pdf.Close()

Python 为 PDF 添加超链接

申请临时 License

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