微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

前言

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

要点概括

1.添加图层

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

2.设置图层隐藏、显示

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

3.删除图层

 

工具使用

代码操作

一、添加图层

我们通过使用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;

                名称来隐藏图层
                doc.Layers["].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);
        }
    }
}

测试结果:

阅读结束!

如需转载,请注明出处!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐