最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET使用C#添加動作到PDF文檔

 更新時間:2024年11月25日 10:43:56   作者:Eiceblue  
使用C#語言在.NET框架下向PDF文檔中添加動作,不僅能夠提升文檔的交互性和用戶體驗,還能夠在自動化工作流中發(fā)揮關鍵作用,下面我們就來看看如何在.NET平臺使用C#在PDF文檔中添加動作吧

使用C#語言在.NET框架下向PDF文檔中添加動作,不僅能夠提升文檔的交互性和用戶體驗,還能夠在自動化工作流中發(fā)揮關鍵作用,例如自動跳轉至特定頁面、鏈接外部資源或播放音頻資源等操作。這種能力使得開發(fā)者能夠根據具體需求定制PDF文檔的互動操作,進而提高文檔的實用性。本文將介紹如何在.NET平臺使用C#在PDF文檔中添加動作。

本文所使用的方法需要用到免費Free Spire.PDF for .NET,可通過NuGet安裝:PM> Install-Package Spire.PDF。

用C#在PDF中添加動作的一般步驟

利用C#以及該庫可以向PDF文檔中嵌入多種互動組件動作,如瀏覽控制按鈕、外部文件和網頁連接以及聲音播放功能,以此來提升用戶的閱讀體驗。下面簡要介紹實現PDF內的動作添加的主要步驟:

創(chuàng)建PdfDocument類的實例。

通過PdfDocument.LoadFromFile()方法加載 PDF 文檔。

使用PdfDocument.Pages[]屬性獲取頁面。

創(chuàng)建表示動作的類的實例,并設置其屬性。

將動作添加到PDF文檔:

  • 可以使用動作在頁面的矩形區(qū)域內創(chuàng)建PdfActionAnnotation類的實例,并為動作添加提示文字(可選)。然后使用PdfPageBase.Annotations.Add()方法將動作注釋添加到頁面上,從而創(chuàng)建可點擊觸發(fā)的動作。
  • 也可以通過PdfDocument.AfterOpenAction、PdfDocument.BeforeCloseAction等屬性直接將動作設置為在進行其他特定操作時執(zhí)行的動作。

使用PdfDocument.SaveToFile()方法保存生成的文檔。

釋放資源。

在PDF中創(chuàng)建文檔內跳轉動作

文檔內跳轉動作的創(chuàng)建通過PdfGoToAction類實現。代碼示例:

using Spire.Pdf;
using Spire.Pdf.Actions;
using Spire.Pdf.Annotations;
using Spire.Pdf.General;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace AddNavigationButtonPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 創(chuàng)建 PdfDocument 的實例
            PdfDocument pdf = new PdfDocument();

            // 加載 PDF 文件
            pdf.LoadFromFile("示例.pdf");

            // 創(chuàng)建 PdfDestination 實例并設置目標位置
            PdfDestination destination = new PdfDestination(pdf.Pages[1]);
            destination.Location = new PointF(0, 0);
            destination.Mode = PdfDestinationMode.Location;
            destination.Zoom = 0.6f;

            // 基于目標位置創(chuàng)建 PdfGoToAction 實例
            PdfGoToAction action = new PdfGoToAction(destination);

            // 創(chuàng)建矩形并繪制到第一頁
            RectangleF rect = new RectangleF(70, pdf.PageSettings.Size.Height - 120, 140, 20);
            pdf.Pages[0].Canvas.DrawRectangle(PdfBrushes.LightGray, rect);
            // 在矩形中繪制文本
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("HarmonyOS Sans SC", 14f, FontStyle.Bold), true);
            PdfStringFormat stringFormat = new PdfStringFormat(PdfTextAlignment.Center);
            pdf.Pages[0].Canvas.DrawString("跳轉到第2頁", font, PdfBrushes.Green, rect, stringFormat);

            // 基于矩形和動作創(chuàng)建 PdfActionAnnotation 實例
            PdfActionAnnotation actionAnnotation = new PdfActionAnnotation(rect, action);

            // 將動作注釋添加到第一頁
            pdf.Pages[0].Annotations.Add(actionAnnotation);

            // 保存文檔
            pdf.SaveToFile("output/PDF導航動作.pdf");
            pdf.Close();
        }
    }
}

結果

在PDF中創(chuàng)建網頁鏈接打開動作

網頁鏈接打開動作的創(chuàng)建通過PdfUriAction類實現。代碼示例:

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

namespace AddSoundActionPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 創(chuàng)建 PdfDocument 的實例
            PdfDocument pdf = new PdfDocument();

            // 加載 PDF 文件
            pdf.LoadFromFile("示例.pdf");

            // 獲取第一頁
            PdfPageBase page = pdf.Pages[0];

            // 在頁面上繪制矩形
            RectangleF rect = new RectangleF(30, 30, 120, 20);
            page.Canvas.DrawRectangle(PdfBrushes.LightGray, rect);
            // 在矩形內繪制文本
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("HarmonyOS Sans SC", 14f, FontStyle.Bold), true);
            PdfStringFormat stringFormat = new PdfStringFormat(PdfTextAlignment.Center);
            page.Canvas.DrawString("點擊跳轉示例網頁", font, PdfBrushes.LightSkyBlue, rect);

            // 創(chuàng)建 PdfUriAction 實例并設置其屬性
            PdfUriAction action = new PdfUriAction();
            action.Uri = "https://www.example.com/";

            // 使用網頁鏈接動作和矩形創(chuàng)建 PdfActionAnnotation 實例
            PdfActionAnnotation actionAnnotation = new PdfActionAnnotation(rect, action);

            // 將動作注釋添加到第一頁
            page.Annotations.Add(actionAnnotation);

            // 保存文檔
            pdf.SaveToFile("output/PDF網頁鏈接打開動作.pdf");
            pdf.Close();
        }
    }
}

結果

在PDF中創(chuàng)建音頻播放動作

音頻播放動作的創(chuàng)建通過PdfSoundAction類實現。代碼示例:

using Spire.Pdf;
using Spire.Pdf.Actions;
using Spire.Pdf.Annotations;
using Spire.Pdf.Graphics;
using Spire.Pdf.General;
using System.Drawing;

namespace AddSoundActionPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 創(chuàng)建 PdfDocument 的實例
            PdfDocument pdf = new PdfDocument();

            // 加載 PDF 文件
            pdf.LoadFromFile("示例.pdf");

            // 獲取第一頁
            PdfPageBase page = pdf.Pages[0];

            // 在頁面上繪制提示圖像
            PdfImage image = PdfImage.FromFile("音頻.png");
            page.Canvas.DrawImage(image, new PointF(30, 30));

            // 創(chuàng)建 PdfSoundAction 實例并設置其屬性
            PdfSoundAction action = new PdfSoundAction("背景.wav");
            // 設置聲音參數
            action.Sound.Bits = 16;
            action.Sound.Channels = PdfSoundChannels.Stereo;
            action.Sound.Encoding = PdfSoundEncoding.Signed;
            action.Sound.Rate = 44100;
            // 設置播放選項
            action.Volume = 0;
            action.Repeat = true;
            action.Mix = true;
            action.Synchronous = true;

            // 基于提示圖像的位置創(chuàng)建 PdfActionAnnotation 實例,用于聲音動作
            RectangleF rect = new RectangleF(30, 30, image.Width, image.Height);
            PdfActionAnnotation actionAnnotation = new PdfActionAnnotation(rect, action);

            // 將動作注釋添加到第一頁
            page.Annotations.Add(actionAnnotation);

            // 設置在文檔打開后播放聲音動作
            pdf.AfterOpenAction = action;

            // 保存文檔
            pdf.SaveToFile("output/PDF音頻播放動作.pdf");
            pdf.Close();
        }
    }
}

結果

在PDF中創(chuàng)建文件打開動作

文件打開動作的創(chuàng)建通過PdfLaunchAction類實現。代碼示例:

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

namespace AddFileLaunchActionPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 創(chuàng)建 PdfDocument 的實例
            PdfDocument pdf = new PdfDocument();

            // 加載 PDF 文件
            pdf.LoadFromFile("示例.pdf");

            // 獲取第一頁
            PdfPageBase page = pdf.Pages[0];

            // 在頁面上繪制矩形
            RectangleF rect = new RectangleF(50, 50, 180, 20);
            page.Canvas.DrawRectangle(PdfBrushes.LightGray, rect);
            // 在矩形內繪制文本
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("HarmonyOS Sans SC", 14f, FontStyle.Bold), true);
            PdfStringFormat stringFormat = new PdfStringFormat(PdfTextAlignment.Center);
            pdf.Pages[0].Canvas.DrawString("點擊打開示例2", font, PdfBrushes.Green, rect, stringFormat);

            // 創(chuàng)建 PdfLaunchAction 實例
            PdfLaunchAction action = new PdfLaunchAction("D:/示例2.pdf", PdfFilePathType.Absolute);
            // 設置啟動模式為在新窗口中打開
            action.IsNewWindow = true;

            // 基于矩形和啟動動作創(chuàng)建 PdfActionAnnotation 實例
            PdfActionAnnotation actionAnnotation = new PdfActionAnnotation(rect, action);

            // 將動作注釋添加到第一頁
            page.Annotations.Add(actionAnnotation);

            // 保存文檔
            pdf.SaveToFile("output/PDF文件打開動作.pdf");
            pdf.Close();
        }
    }
}

結果

在PDF中創(chuàng)建JavaScript動作

JavaScript動作的創(chuàng)建通過PdfJavaScriptAction類實現。代碼示例:

using Spire.Pdf;
using Spire.Pdf.Actions;

namespace AddJavaScriptActionPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 創(chuàng)建 PdfDocument 的實例
            PdfDocument pdf = new PdfDocument();

            // 加載 PDF 文件
            pdf.LoadFromFile("示例.pdf");

            // 定義JavaScript代碼
            string jsCode =
            "app.alert({" +
            "    cMsg: '歡迎閱讀《水星:太陽系中最小的行星之一,卻擁有無盡的科學奧秘》。\\n\\n本文將詳細探討水星的各個方面,包括概述、形成和歷史、表面特征、氣候和環(huán)境,以及未來的探索。', " +
            "    nIcon: 3, " +
            "    cTitle: '文檔介紹'" +
            "});";

            // 使用代碼創(chuàng)建 PdfJavaScriptAction 實例
            PdfJavaScriptAction action = new PdfJavaScriptAction(jsCode);

            // 將動作設置為PDF文檔打開時執(zhí)行
            pdf.AfterOpenAction = action;

            // 保存文檔
            pdf.SaveToFile("output/PDF JavaScript動作.pdf");
            pdf.Close();
        }
    }
}

結果

到此這篇關于.NET使用C#添加動作到PDF文檔的文章就介紹到這了,更多相關C#添加動作到PDF內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • WinForm實現鼠標拖動控件跟隨效果

    WinForm實現鼠標拖動控件跟隨效果

    這篇文章主要為大家詳細介紹了WinForm實現鼠標拖動控件跟隨效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Unity常用命令模式詳解

    Unity常用命令模式詳解

    這篇文章主要為大家詳細介紹了Unity常用命令模式的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 基于C#實現亂碼視頻效果

    基于C#實現亂碼視頻效果

    亂碼視頻效果可能很多人都在抖音看到過,即把一個短視頻,轉成數字、字母等亂碼組成的形式進行播放。本文將用C#實現一下這一效果,感興趣的可以了解一下
    2023-01-01
  • 在C#中對TCP客戶端的狀態(tài)封裝詳解

    在C#中對TCP客戶端的狀態(tài)封裝詳解

    本篇文章小編為大家介紹,在C#中對TCP客戶端的狀態(tài)封裝詳解,需要的朋友參考下
    2013-04-04
  • 詳解如何在C#中接受或拒絕Excel中的修訂

    詳解如何在C#中接受或拒絕Excel中的修訂

    修訂功能可以跟蹤文檔所有的修改,了解修改的過程,這對于團隊協(xié)同文檔編輯、審閱是非常有用的一個功能。本文將詳細為您介紹如何接受或拒絕 Excel 中的修訂,感興趣的可以收藏一下
    2022-12-12
  • C#模板方法模式(Template Method Pattern)實例教程

    C#模板方法模式(Template Method Pattern)實例教程

    這篇文章主要介紹了C#模板方法模式(Template Method Pattern),以實例形式講述了C#抽象類模板方法的用法,具有很高的實用價值,需要的朋友可以參考下
    2014-09-09
  • c# 解決IIS寫Excel的權限問題

    c# 解決IIS寫Excel的權限問題

    使用以上方法必須對dcom進行配置,給用戶使用office的權限
    2012-10-10
  • C#使用selenium實現爬蟲

    C#使用selenium實現爬蟲

    這篇文章介紹了C#使用selenium實現爬蟲的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#編程自學之開篇介紹

    C#編程自學之開篇介紹

    這篇是一篇關于C#編程自學的入門文章,學習C#的開始,開啟了C#的奇妙之旅,感興趣的小伙伴們可以持續(xù)關注系列文章。
    2015-10-10
  • Unity接入百度AI實現貨幣識別

    Unity接入百度AI實現貨幣識別

    本文主要介紹了在Unity中接入百度AI,從而實現貨幣識別,可以返回貨幣的名稱、代碼、面值、年份信息等,感興趣的可以跟隨小編學習一下
    2022-01-01

最新評論

象山县| 平顺县| 海丰县| 黄龙县| 蓝田县| 贵阳市| 德化县| 于田县| 盐池县| 舞阳县| 威远县| 凤翔县| 乌兰县| 安阳市| 平武县| 平果县| 九龙县| 资源县| 扶绥县| 漯河市| 呼玛县| 永丰县| 信阳市| 余干县| 长泰县| 清徐县| 扎囊县| 揭东县| 永康市| 定襄县| 桓仁| 恩平市| 阳曲县| 巢湖市| 法库县| 富民县| 阿鲁科尔沁旗| 玉龙| 天全县| 定州市| 贵溪市|