C# 操作PDF 图层(Layer)——添加、删除图层、设置图层可见性

内容预览:
  • 此外,对于页面中已有的图层我们也可以进行设置图层可见性、删除图层等操作~
  • 要点概括 1.添加图层 线条 图形 图像 字符串 2.设置图层隐藏、显示 指定...~
  • 【C#】 using Spire.Pdf;using Spire.Pdf.Graphics;using System.Drawin...~

前言

通过添加图层,我们可以将文本、图片、表格、图形等元素精确定位于页面指定位置,将这些元素进行叠放、组合形成页面的最终效果。此外,对于页面中已有的图层我们也可以进行设置图层可见性、删除图层等操作。因此,在本篇文章中,将介绍如何在C#中进行PDF图层的操作。

要点概括

1.添加图层

  • 线条
  • 图形
  • 图像
  • 字符串

2.设置图层隐藏、显示

  • 指定单个图层可见性
  • 设置所有图层可见性

3.删除图层

 

工具使用

代码操作

一、添加图层

我们通过使用Spire.PDF添加图层,支持添加线条、图像、字符串、饼图、椭圆形、矩形和多边形等多种类型的图层。

【C#】

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace AddLayers_PDF
{
class Program
{
static void Main(string[] args)
{
//新建PDF文档,添加一页
PdfDocument pdf = new PdfDocument();
PdfPageBase page
= pdf.Pages.Add();

//添加一个线条图层,设置为不可见
PdfPageLayer layer = page.PageLayers.Add("Line", true);
//在页面指定位置添加指定长度的线条,并设置线条颜色、粗细等格式
layer.Graphics.DrawLine(new PdfPen(PdfBrushes.Blue, 1), new PointF(0, 0), new PointF(0, 200)); //这里可根据需要添加多条线条

//向页面添加一个名为“椭圆”的图层,设置图层为不可见
layer = page.PageLayers.Add("椭圆", true);
//设置图形颜色、线条粗细
PdfPen pen = new PdfPen(Color.Yellow, 2.5f);
//填充图形内部颜色,并在页面指定位置添加指定大小的椭圆形图形
PdfBrush brush = new PdfSolidBrush(Color.White);
layer.Graphics.DrawEllipse(pen, brush,
240, 200, 60,20);

//添加一个图片图层,并命名图层为“Image Layer”
layer = page.PageLayers.Add("Image Layer");
//加载图片,在页面指定位置添加该图片作为图层并设置图像的大小
layer.Graphics.DrawImage(PdfImage.FromFile("image.png"), 200, 230, 150, 185);

//添加字符串类型的图层,并命名为“String Layer”
layer = page.PageLayers.Add("String Layer");
//向页面指定位置绘如文本,并设置字体、字号、颜色等格式
layer.Graphics.DrawString("OH~IT'S SO GOOD! RIGHT? n LET'S GET STARTED!n COME ON, GUYS!", new PdfFont(PdfFontFamily.TimesRoman, 12), new PdfPen(PdfBrushes.MediumVioletRed, 1), 45, 250);

//保存并打开文档
pdf.SaveToFile("AddLayers.pdf", FileFormat.PDF);
System.Diagnostics.Process.Start(
"AddLayers.pdf");
}
}
}

添加效果:

二、设置图层隐藏、显示

(一)设置单个图层的隐藏、显示

 【C#】

using Spire.Pdf;
using Spire.Pdf.Graphics.Layer;

namespace HideOrShowLayer_PDF
{
class Program
{
static void Main(string[] args)
{
//实例化PdfDocument类,加载文档
PdfDocument doc = new PdfDocument("AddLayers.pdf");

//设置图层可见属性为Off,通过索引值来隐藏第3个图层
//doc.Layers[2].Visibility = PdfVisibility.Off;

//设置图层可见属性为Off,通过图层名称来隐藏图层
doc.Layers["String Layer"].Visibility = PdfVisibility.Off;

//保存并打开文档
doc.SaveToFile("HideLayer0.pdf");
System.Diagnostics.Process.Start(
"HideLayer0.pdf");

}
}
}

测试结果:

1.通过“索引值”来隐藏图层的效果

2.通过图层名称来隐藏图层的效果

(二)设置全部图层的隐藏、显示

【C#】

using System;
using Spire.Pdf;
using Spire.Pdf.Graphics.Layer;

namespace ShowLayer_PDF
{
class Program
{
static void Main(string[] args)
{
//创建PdfDocument类对象,加载pdf测试文档
PdfDocument doc = new PdfDocument("AddLayers.pdf");

//遍历文档中的所有图层,
for (int i = 0; i < doc.Layers.Count; i++)
{
//显示所有图层
//doc.Layers[i].Visibility = PdfVisibility.On;

//隐藏所有图层
doc.Layers[i].Visibility = PdfVisibility.Off;
}
//保存并打开文档
doc.SaveToFile("HideAllLayers.pdf");
System.Diagnostics.Process.Start(
"HideAllLayers.pdf");
}
}
}

测试结果:

三、删除图层

 【C#】

using Spire.Pdf;

namespace DeleteLayer_PDF
{
class Program
{
static void Main(string[] args)
{
//创建一个PdfDocument类对象,加载包含多个图层的PDF文档
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(
"AddLayers.pdf");

//调用方法RemoveLayer()删除名为“Line”的图层
doc.Layers.RemoveLayer(("Line"));

//保存并打开文档
doc.SaveToFile("DeleteLayer.pdf", FileFormat.PDF);
System.Diagnostics.Process.Start(
"DeleteLayer.pdf");
}
}
}

测试结果:

阅读结束!

如需转载,请注明出处!

以上就是:C# 操作PDF 图层(Layer)——添加、删除图层、设置图层可见性 的全部内容。

本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢。
Email:[email protected]


0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论