C#操作PDF圖層(Layer)——添加、刪除圖層、設(shè)置圖層可見(jiàn)性

前言

通過(guò)添加圖層,我們可以將文本、圖片、表格、圖形等元素精確定位于頁(yè)面指定位置,將這些元素進(jìn)行疊放、組合形成頁(yè)面的最終效果。此外,對(duì)于頁(yè)面中已有的圖層我們也可以進(jìn)行設(shè)置圖層可見(jiàn)性、刪除圖層等操作。因此,在本篇文章中,將介紹如何在C#中進(jìn)行PDF圖層的操作。

在鎮(zhèn)雄等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),鎮(zhèn)雄網(wǎng)站建設(shè)費(fèi)用合理。


要點(diǎn)概括

1.添加圖層
線條
圖形
圖像
字符串
2.設(shè)置圖層隱藏、顯示
指定單個(gè)圖層可見(jiàn)性
設(shè)置所有圖層可見(jiàn)性
3.刪除圖層


工具使用

  • Spire.PDF for .NET 4.0
  • Visual Studio

代碼操作

一、 添加圖層
我們通過(guò)使用Spire.PDF添加圖層,支持添加線條、圖像、字符串、餅圖、橢圓形、矩形和多邊形等多種類型的圖層。
C# 操作PDF 圖層(Layer)——添加、刪除圖層、設(shè)置圖層可見(jiàn)性

【C#】

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

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

            //添加一個(gè)線條圖層,設(shè)置為不可見(jiàn)
            PdfPageLayer layer = page.PageLayers.Add("Line", true);
            //在頁(yè)面指定位置添加指定長(zhǎng)度的線條,并設(shè)置線條顏色、粗細(xì)等格式
            layer.Graphics.DrawLine(new PdfPen(PdfBrushes.Blue, 1), new PointF(0, 0), new PointF(0, 200)); //這里可根據(jù)需要添加多條線條

            //向頁(yè)面添加一個(gè)名為“橢圓”的圖層,設(shè)置圖層為不可見(jiàn)
            layer = page.PageLayers.Add("橢圓", true);
            //設(shè)置圖形顏色、線條粗細(xì)
            PdfPen pen = new PdfPen(Color.Yellow, 2.5f);
            //填充圖形內(nèi)部顏色,并在頁(yè)面指定位置添加指定大小的橢圓形圖形
            PdfBrush brush = new PdfSolidBrush(Color.White);
            layer.Graphics.DrawEllipse(pen, brush, 240, 200, 60,20);

            //添加一個(gè)圖片圖層,并命名圖層為“Image Layer”
            layer = page.PageLayers.Add("Image Layer");
            //加載圖片,在頁(yè)面指定位置添加該圖片作為圖層并設(shè)置圖像的大小
            layer.Graphics.DrawImage(PdfImage.FromFile("image.png"), 200, 230, 150, 185);

            //添加字符串類型的圖層,并命名為“String Layer”
            layer = page.PageLayers.Add("String Layer");
            //向頁(yè)面指定位置繪如文本,并設(shè)置字體、字號(hào)、顏色等格式
            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);

            //保存并打開(kāi)文檔
            pdf.SaveToFile("AddLayers.pdf", FileFormat.PDF);
            System.Diagnostics.Process.Start("AddLayers.pdf");  
        }
    }
}

添加效果:
C# 操作PDF 圖層(Layer)——添加、刪除圖層、設(shè)置圖層可見(jiàn)性
二、設(shè)置圖層隱藏、顯示
(一)設(shè)置單個(gè)圖層的隱藏、顯示

【C#】

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

namespace HideOrShowLayer_PDF
{
    class Program
    {
        static void Main(string[] args)
        {
               //實(shí)例化PdfDocument類,加載文檔
                PdfDocument doc = new PdfDocument("AddLayers.pdf");

                //設(shè)置圖層可見(jiàn)屬性為Off,通過(guò)索引值來(lái)隱藏第3個(gè)圖層
                //doc.Layers[2].Visibility = PdfVisibility.Off;

                //設(shè)置圖層可見(jiàn)屬性為Off,通過(guò)圖層名稱來(lái)隱藏圖層
                doc.Layers["String Layer"].Visibility = PdfVisibility.Off;

                //保存并打開(kāi)文檔
                doc.SaveToFile("HideLayer0.pdf");
                System.Diagnostics.Process.Start("HideLayer0.pdf");

        }
    }
}

測(cè)試結(jié)果:
1.通過(guò)“索引值”來(lái)隱藏圖層的效果
C# 操作PDF 圖層(Layer)——添加、刪除圖層、設(shè)置圖層可見(jiàn)性
2.通過(guò)圖層名稱來(lái)隱藏圖層的效果
C# 操作PDF 圖層(Layer)——添加、刪除圖層、設(shè)置圖層可見(jiàn)性

(二)設(shè)置全部圖層的隱藏、顯示
【C#】

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

namespace ShowLayer_PDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建PdfDocument類對(duì)象,加載pdf測(cè)試文檔
            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;
            }
                //保存并打開(kāi)文檔
                doc.SaveToFile("HideAllLayers.pdf");
                System.Diagnostics.Process.Start("HideAllLayers.pdf");
        }
    }
}

測(cè)試結(jié)果:
C# 操作PDF 圖層(Layer)——添加、刪除圖層、設(shè)置圖層可見(jiàn)性
三、刪除圖層
【C#】

using Spire.Pdf;

namespace DeleteLayer_PDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建一個(gè)PdfDocument類對(duì)象,加載包含多個(gè)圖層的PDF文檔
            PdfDocument doc = new PdfDocument();
            doc.LoadFromFile("AddLayers.pdf");

            //調(diào)用方法RemoveLayer()刪除名為“Line”的圖層
            doc.Layers.RemoveLayer(("Line"));

            //保存并打開(kāi)文檔
            doc.SaveToFile("DeleteLayer.pdf", FileFormat.PDF);
            System.Diagnostics.Process.Start("DeleteLayer.pdf");
        }
    }
}

測(cè)試結(jié)果:
C# 操作PDF 圖層(Layer)——添加、刪除圖層、設(shè)置圖層可見(jiàn)性

分享文章:C#操作PDF圖層(Layer)——添加、刪除圖層、設(shè)置圖層可見(jiàn)性
當(dāng)前地址:http://muchs.cn/article44/pdgehe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序網(wǎng)站策劃、用戶體驗(yàn)全網(wǎng)營(yíng)銷推廣、服務(wù)器托管、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)