Spire.PDF for .NET【文档操作】演示:在 C# 中向 PDF 文件添加图层

Spire.PDF 完美支持将多页 PDF 拆分为单页。但是,更常见的情况是,您可能希望提取选定的页面范围并保存为新的 PDF 文档。在本文中,您将学习如何通过 Spire.PDF 在 C#、VB.NET 中根据页面范围拆分 PDF 文件。

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.PDF for.net下载 Spire.PDF for java下载

开发人员可以使用 PDF 层将同一 PDF 文件中的某些内容设置为可见,而将其他内容设置为不可见。这使得 PDF 层被广泛用于处理同一 PDF 中的相关内容。现在,开发人员可以使用Spire.PDF 提供的PdfPageLayer类轻松添加页面层。本文将重点介绍如何在 Spire.PDF 的帮助下使用 C# 向 PDF 文件添加图层。

注意:开始之前,请下载最新版本的Spire.PDF,并将Spire.PDF.dll添加到bin文件夹中作为Visual Studio的引用。

以下是详细信息:

步骤 1:创建一个新的 PDF 文档

复制代码
PdfDocument pdfdoc = new PdfDocument();

第 2 步:向 PDF 文档添加新页面。

复制代码
PdfPageBase page = pdfdoc.Pages.Add();

步骤3:向PDF页面添加名为"红线"的图层。

复制代码
PdfPageLayer layer = page.PageLayers.Add("red line");

步骤 4: 为添加的图层画一条红线。

复制代码
layer.Graphics.DrawLine(new PdfPen(PdfBrushes.Red, 1), new PointF(0, 100), new PointF(300, 100));

步骤5:使用上述相同方法将另外两个图层添加到PDF页面。

复制代码
layer = page.PageLayers.Add("blue line");
layer.Graphics.DrawLine(new PdfPen(PdfBrushes.Blue, 1), new PointF(0, 200), new PointF(300, 200));
layer = page.PageLayers.Add("green line");
layer.Graphics.DrawLine(new PdfPen(PdfBrushes.Green, 1), new PointF(0, 300), new PointF(300, 300));

步骤 6:将文档保存到文件。

复制代码
pdfdoc.SaveToFile("AddLayers.pdf", FileFormat.PDF);

有效截图

完整代码

复制代码
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace AddLayer
{
class Program
{
static void Main(string[] args)
{
PdfDocument pdfdoc = new PdfDocument();
PdfPageBase page = pdfdoc.Pages.Add();
PdfPageLayer layer = page.PageLayers.Add("red line");
layer.Graphics.DrawLine(new PdfPen(PdfBrushes.Red, 1), new PointF(0, 100), new PointF(300, 100));
layer = page.PageLayers.Add("blue line");
layer.Graphics.DrawLine(new PdfPen(PdfBrushes.Blue, 1), new PointF(0, 200), new PointF(300, 200));
layer = page.PageLayers.Add("green line");
layer.Graphics.DrawLine(new PdfPen(PdfBrushes.Green, 1), new PointF(0, 300), new PointF(300, 300));
pdfdoc.SaveToFile("AddLayers.pdf", FileFormat.PDF);
}
}
}
相关推荐
XiaoZhenHua981 小时前
C#工业机器视觉Recipe配方系统设计:多型号、多相机、多工位参数如何统一管理
c#·软件架构·机器视觉·工业自动化·工业软件·recipe
张彦峰ZYF2 小时前
从“全量 OCR”到按页智能路由:pdf-inspector 与企业 PDF 解析架构的工程化重构
人工智能·pdf·ocr·ai agent·pdf-inspector
fujisheng6613 小时前
FUI 导航实践:拆开 Layer、History、Coverage 与 Cache 的组合语义
c#·unity3d
SamChan904 小时前
Python批量处理PDF踩坑实录:中文编码、字体内嵌、多栏排版与内存占用
python·单片机·ai·pdf·机器翻译
淡海水5 小时前
10-05-高级-模式匹配-CSharp如何改变与数据结构的交互方式
数据结构·算法·c#·模式匹配
一念春风5 小时前
PDF浏览器(WPF C# )
pdf
XiaoZhenHua985 小时前
C# WinForms + 西门子S7 + SQLite + EPPlus生产数据采集系统架构设计
系统架构·sqlite·c#
Lost of 程序猿6 小时前
船岸数据同步链路实战:SendFlag、单调版本号与断网三天后的续传
后端·c#·asp.net
cjp5601 天前
012.UG二次开发,UG管道服务器与WPF管道通讯,传输JSON数据
c#
jiushidt1 天前
ArcGIS Pro Add‑in 打包流程详解
arcgis·c#·.net·arcgispro