加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:08:04 所属栏目:百科 来源:网络整理
导读:前言 通过添加图层,我们可以将文本、图片、表格、图形等元素精确定位于页面指定位置,将这些元素进行叠放、组合形成页面的最终效果。此外,对于页面中已有的图层我们也可以进行设置图层可见性、删除图层等操作。因此,在本篇文章中,将介绍如何在C#中进行PD

前言

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

要点概括

1.添加图层

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

2.设置图层隐藏、显示

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

3.删除图层

?

工具使用

  • Spire.PDF for .NET 4.0

代码操作

一、添加图层

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

【C#】

using Spire.Pdf;
 Spire.Pdf.Graphics;
 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),1)">new PointF(0,1)">0),1)">200)); 这里可根据需要添加多条线条

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

            添加一个图片图层,并命名图层为“Image Layer”
            layer = page.PageLayers.Add(Image Layer"加载图片,在页面指定位置添加该图片作为图层并设置图像的大小
            layer.Graphics.DrawImage(PdfImage.FromFile(image.png"),1)">230,1)">150,1)">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,1)">12),1)">new PdfPen(PdfBrushes.MediumVioletRed,1)">45,1)">250保存并打开文档
            pdf.SaveToFile(AddLayers.pdf,FileFormat.PDF);
            System.Diagnostics.Process.Start();  
        }
    }
}

添加效果:

二、设置图层隐藏、显示

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

?【C#】

 Spire.Pdf.Graphics.Layer;

 HideOrShowLayer_PDF
{
    [] args)
        {
               实例化PdfDocument类,加载文档
                PdfDocument doc = new PdfDocument();
            
                设置图层可见属性为Off,通过索引值来隐藏第3个图层
                doc.Layers[2].Visibility = PdfVisibility.Off;

                "].Visibility = PdfVisibility.Off;

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

测试结果:

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

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

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

【C#】

 System;
 ShowLayer_PDF
{
    创建PdfDocument类对象,加载pdf测试文档
            PdfDocument doc = );
            
            遍历文档中的所有图层,
            for (int i = 0; i < doc.Layers.Count; i++)
            {
                显示所有图层
                doc.Layers[i].Visibility = PdfVisibility.On;

                隐藏所有图层
                doc.Layers[i].Visibility = PdfVisibility.Off;
            }
                HideAllLayers.pdf);
        }
    }
}

测试结果:

三、删除图层

?【C#】

 Spire.Pdf;

 DeleteLayer_PDF
{
    创建一个PdfDocument类对象,加载包含多个图层的PDF文档
            PdfDocument doc =  PdfDocument();
            doc.LoadFromFile(调用方法RemoveLayer()删除名为“Line”的图层
            doc.Layers.RemoveLayer(());

            保存并打开文档
            doc.SaveToFile(DeleteLayer.pdf);
        }
    }
}

测试结果:

阅读结束!

如需转载,请注明出处!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读