91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 在PDF中繪制動態圖章

發布時間:2020-07-12 16:37:32 來源:網絡 閱讀:1157 作者:E_iceblue 欄目:編程語言

我們知道,動態圖章,因圖章中的時間、日期可以動態的生成,因而具有較強的時效性。在本篇文章中將介紹通過C#編程在PDF中繪制動態圖章的方法,該方法可自動獲取當前系統登錄用戶名、日期及時間信息并生成圖章。

使用工具

  • Spire.PDF for .NET
    注:下載安裝后,注意在程序中添加引用Spire.PDF.dll(dll文件可在安裝路徑下的Bin文件夾中獲取)
    C# 在PDF中繪制動態圖章

    C#代碼示例(供參考)

    【C#】

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

namespace PDF動態圖章
{
    class Program
    {
        static void Main(string[] args)
        {
            //創建PdfDocument對象
            PdfDocument doc = new PdfDocument();

            //加載現有PDF文檔
            doc.LoadFromFile("sample.pdf");

            //獲取要添加動態印章的頁面
            PdfPageBase page = doc.Pages[1];

            //創建模板對象
            PdfTemplate template = new PdfTemplate(120, 60);

            //創建字體
            PdfCjkStandardFont font1 = new PdfCjkStandardFont(PdfCjkFontFamily.SinoTypeSongLight, 16f, PdfFontStyle.Bold | PdfFontStyle.Italic);
            PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("宋體", 10f), true);

            //創建單色畫刷和漸變畫刷
            PdfSolidBrush brush = new PdfSolidBrush(Color.Red);
            RectangleF rect = new RectangleF(new PointF(0, 0), template.Size);
            PdfLinearGradientBrush gradientBrush = new PdfLinearGradientBrush(rect, Color.White, Color.White, PdfLinearGradientMode.Horizontal);

            //創建圓角矩形路徑
            int CornerRadius = 10;
            PdfPath path = new PdfPath();
            path.AddArc(template.GetBounds().X, template.GetBounds().Y, CornerRadius, CornerRadius, 180, 90);
            path.AddArc(template.GetBounds().X + template.Width - CornerRadius, template.GetBounds().Y, CornerRadius, CornerRadius, 270, 90);
            path.AddArc(template.GetBounds().X + template.Width - CornerRadius, template.GetBounds().Y + template.Height - CornerRadius, CornerRadius, CornerRadius, 0, 90);
            path.AddArc(template.GetBounds().X, template.GetBounds().Y + template.Height - CornerRadius, CornerRadius, CornerRadius, 90, 90);
            path.AddLine(template.GetBounds().X, template.GetBounds().Y + template.Height - CornerRadius, template.GetBounds().X, template.GetBounds().Y + CornerRadius / 2);

            //在模板上畫圓角矩形路徑,并用漸變色填充
            template.Graphics.DrawPath(gradientBrush, path);
            //在模板上畫圓角矩形路徑,并用紅色填充路徑
            template.Graphics.DrawPath(PdfPens.Red, path);

            //在模板上繪制印章文字、系統用戶名、日期
            String s1 = "已審閱\n";
            String s2 = System.Environment.UserName + "行政處 \n" + DateTime.Now.ToString("F");
            template.Graphics.DrawString(s1, font1, brush, new PointF(5, 5));
            template.Graphics.DrawString(s2, font2, brush, new PointF(2, 28));

            //創建PdfRubberStampAnnotation對象,并指定其位置和大小
            PdfRubberStampAnnotation stamp = new PdfRubberStampAnnotation(new RectangleF(new PointF(page.ActualSize.Width - 300, 380), template.Size));

            //創建PdfApperance對象,并將模板應用為一般狀態
            PdfAppearance apprearance = new PdfAppearance(stamp);
            apprearance.Normal = template;

            //在印章上應用PdfApperance對象(即樣式)
            stamp.Appearance = apprearance;

            //將印章添加到PdfAnnotation集合
            page.AnnotationsWidget.Add(stamp);

            //保存文檔
            doc.SaveToFile("output.pdf", FileFormat.PDF);
            System.Diagnostics.Process.Start("output.pdf");
        }
    }
}

完成代碼后,調試運行程序,生成文檔。在生成的文檔中,文末已添加了動態的圖章,如下圖所示:
C# 在PDF中繪制動態圖章

以上是本次關于C#在PDF文檔中繪制動態圖章的方法介紹。

感謝閱讀。

(本文完)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福建省| 灵武市| 临漳县| 张家港市| 囊谦县| 平乡县| 吴旗县| 曲松县| 镇原县| 濉溪县| 罗城| 郧西县| 克什克腾旗| 吉木萨尔县| 延川县| 扬州市| 丰都县| 大石桥市| 韶山市| 平泉县| 东宁县| 瑞金市| 吉安县| 大余县| 怀远县| 象山县| 九江县| 莱阳市| 克东县| 景宁| 湄潭县| 贺州市| 诸暨市| 清徐县| 碌曲县| 工布江达县| 清涧县| 浦东新区| 航空| 辉县市| 邮箱|