• <menu id="w2i4a"></menu>
  • logo Spire.PDF教程

    文檔首頁>>Spire.PDF教程>>PDF管理控件Spire.PDF使用教程:如何添加水印和PDF附件

    PDF管理控件Spire.PDF使用教程:如何添加水印和PDF附件


    Spire.PDF是一個專業(yè)的PDF組件,能夠獨立地創(chuàng)建、編寫、編輯、操作和閱讀PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API擁有豐富的功能,如安全設(shè)置(包括數(shù)字簽名)、PDF文本/附件/圖片提取、PDF文件合并/拆分、元數(shù)據(jù)更新、章節(jié)和段落優(yōu)化、圖形/圖像描繪和插入、表格創(chuàng)建和處理、數(shù)據(jù)導(dǎo)入等等。>>下載Spire.PDF最新試用版

    C# 給 PDF 文檔添加水印

    添加圖片水印

    Spire.Pdf.PdfPageBase類提供了一個屬性BackgroundImage,用戶可以通過該屬性來獲取或設(shè)置當前頁面的背景圖,除此之外還可以通過BackgroundRegion屬性設(shè)置背景圖的位置及大小,最終達到圖片水印的效果。

    //加載PDF文檔
    PdfDocument pdf = new PdfDocument();
    pdf.LoadFromFile("Spire.Presentation.pdf");
    
    //獲取PDF文檔的第一頁
    PdfPageBase page = pdf.Pages[0];
    
    //獲取圖片并將其設(shè)置為頁面的背景圖
    Image img = Image.FromFile("Logo.png");
    page.BackgroundImage = img;
    
    //指定背景圖的位置和大小
    page.BackgroundRegion = new RectangleF(200, 200, 200, 200);
    
    //保存文檔
    pdf.SaveToFile("ImageWaterMark.pdf");

    Spire.PDF使用教程:如何添加水印和PDF附件

    添加文本水印

    添加文本水印時,需要先繪制文本并設(shè)置文本格式如字體、顏色及排列方式等,然后將其添加到頁面作為水印。

    //加載PDF文檔
    PdfDocument pdf = new PdfDocument();
    pdf.LoadFromFile("Spire.Presentation.pdf");
    
    //獲取PDF文檔的第一頁
    PdfPageBase page = pdf.Pages[0];
    
    //繪制文本,設(shè)置文本格式并將其添加到頁面
    PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.ClientSize.Width / 2, page.Canvas.ClientSize.Height / 3));
    brush.Graphics.SetTransparency(0.3f);
    brush.Graphics.Save();
    brush.Graphics.TranslateTransform(brush.Size.Width / 2, brush.Size.Height / 2);
    brush.Graphics.RotateTransform(-45);
    PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 20f), true);
    brush.Graphics.DrawString("草稿", font, PdfBrushes.Red, 0, 0, new PdfStringFormat(PdfTextAlignment.Center));
    brush.Graphics.Restore();
    brush.Graphics.SetTransparency(1);
    page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.ClientSize));
    
    //保存文檔
    pdf.SaveToFile("TextWaterMark.pdf");

    Spire.PDF使用教程:如何添加水印和PDF附件


    C# 添加、獲取PDF 附件

    Spire.PDF組件提供了兩種將文檔附加到PDF的方式。一種是通過調(diào)用PdfAttachmentCollection類的Add() 方法將文檔作為文件附件添加到PDF,另一種則是將文檔作為注釋附加到PDF的頁面中。

    添加附件

    將文檔作為文件附件添加到PDF

    //加載PDF文檔
    PdfDocument pdf = new PdfDocument("Test.pdf");
    
    //加載需要附加的文檔
    PdfAttachment attachment = new PdfAttachment("New.pdf");
    //將文檔添加到原PDF文檔的附件集合中
    pdf.Attachments.Add(attachment);
    
    //保存文檔
    pdf.SaveToFile("Attachment1.pdf");

    Spire.PDF使用教程:如何添加水印和PDF附件

    將文檔作為注釋附加到PDF文檔的頁面

    //加載PDF文檔
    PdfDocument doc = new PdfDocument("Test.pdf");
    //給文檔添加一個新頁面
    PdfPageBase page = doc.Pages.Add();
    
    //添加文本到頁面
    PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial", 16f, System.Drawing.FontStyle.Bold));
    page.Canvas.DrawString("Attachments:", font1, PdfBrushes.CornflowerBlue, new Point(50, 50));
    
    //將文檔作為注釋添加到頁面
    PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("Arial", 12f, System.Drawing.FontStyle.Bold));
    PointF location = new PointF(52, 80);
    String label = "Report.docx";
    byte[] data = File.ReadAllBytes("Report.docx");
    SizeF size = font2.MeasureString(label);
    RectangleF bounds = new RectangleF(location, size);
    page.Canvas.DrawString(label, font2, PdfBrushes.MediumPurple, bounds);
    bounds = new RectangleF(bounds.Right + 3, bounds.Top, font2.Height / 2, font2.Height);
    PdfAttachmentAnnotation annotation1 = new PdfAttachmentAnnotation(bounds, "Report.docx", data);
    annotation1.Color = Color.Purple;
    annotation1.Flags = PdfAnnotationFlags.NoZoom;
    annotation1.Icon = PdfAttachmentIcon.Graph;
    annotation1.Text = "Report.docx";
    (page as PdfNewPage).Annotations.Add(annotation1);
    
    //保存文檔
    doc.SaveToFile("Attachment2.pdf");

    Spire.PDF使用教程:如何添加水印和PDF附件

    獲取附件

    根據(jù)附件添加方式的不同,獲取附件也分為以下兩種相應(yīng)的方式。

    獲取文件附件

    //加載PDF文檔
    PdfDocument pdf = new PdfDocument("Attachment1.pdf");
    //獲取文檔的第一個文件附件
    PdfAttachment attachment = pdf.Attachments[0];
    
    //獲取該附件的信息
    Console.WriteLine("Name: {0}", attachment.FileName);
    Console.WriteLine("MimeType: {0}", attachment.MimeType);
    Console.WriteLine("Description: {0}", attachment.Description);
    Console.WriteLine("Creation Date: {0}", attachment.CreationDate);
    Console.WriteLine("Modification Date: {0}", attachment.ModificationDate);
    
    //將附件的數(shù)據(jù)寫入到新文檔
    File.WriteAllBytes(attachment.FileName, attachment.Data);
    Console.ReadKey();

    Spire.PDF使用教程:如何添加水印和PDF附件

    獲取注釋附件

    //加載PDF文檔
    PdfDocument pdf = new PdfDocument("Attachment2.pdf");
    
    //實例化一個list并將文檔內(nèi)所有頁面的Attachment annotations添加到該list
    List attaches = new List();
    foreach (PdfPageBase page in pdf.Pages)
    {
        foreach (PdfAnnotation annotation in page.AnnotationsWidget)
        {
            attaches.Add(annotation as PdfAttachmentAnnotationWidget);
        }
    }
    //遍歷list,將附件數(shù)據(jù)寫入到新文檔
    for (int i = 0; i < attaches.Count; i++)
    {
        File.WriteAllBytes(attaches[i].FileName, attaches[i].Data);
    }


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();