PDF 在多功能性和功能方面是一種豐富的文檔格式。 PDF 的主要優勢之一是其跨異構平台的一致佈局。而且,它具有同時顯示在桌面應用程序和網絡瀏覽器中的能力。這就是 PDF 文件能夠運行 JavaScript 的原因。在本文中,我們將演示如何使用 C# 在 PDF 文件中添加或刪除 JavaScript。
- 用於在 PDF 中添加或刪除 JavaScript 的 .NET API
- 將 JavaScript 添加到 PDF 文件
- 在 PDF 中添加文檔級 JavaScript
- 從 PDF 中刪除 JavaScript
用於在 PDF 中添加或刪除 JavaScript 的 C# .NET API
Aspose.PDF for .NET 旨在在 .NET 應用程序中執行 PDF 生成和操作。 API 讓您可以無縫地創建、處理和轉換簡單和復雜佈局的 PDF 文件。您可以 下載 API 的二進製文件或使用 NuGet 安裝它。
PM> Install-Package Aspose.PDF
在 C# 中將 JavaScript 添加到 PDF 文件
PDF 文件支持 Acrobat JavaScript,它基於 ISO-16262 的 JavaScript 1.5 版的核心,以前稱為 ECMAScript。它是由 Netscape Communications 開發的一種面向對象的腳本語言。在繼續將 JavaScript 添加到 PDF 文件之前,讓我們看一下 Acrobat JavaScript 和 Web 瀏覽器中使用的 HTML JavaScript 之間的區別。
- Acrobat JavaScript 無法訪問 HTML 頁面中的對象。同樣,HTML JavaScript 無法訪問 PDF 文件中的對象。
- HTML JavaScript 能夠操作諸如 Window 之類的對象。但是,Acrobat JavaScript 無法訪問這些特定對象,但它可以操作特定於 PDF 的對象。
以下是使用 C# 將 JavaScript 添加到 PDF 文件的步驟。
- 使用 Document 類加載 PDF 文件。
- 創建 JavascriptAction 類的實例並使用所需的腳本對其進行初始化。
- 將 JavascriptAction 對象分配給文檔級 JavaScript 的 Document.OpenAction 屬性。
- 要添加頁面級 JavaScript,請使用 Document.Pages[index].Actions 屬性。
- 使用 Document.Save(String) 方法保存 PDF。
以下代碼示例顯示瞭如何將 JavaScript 添加到 PDF。
// 加載 PDF 文件
Document doc = new Document("input.pdf");
// 使用所需的 JavaScript 語句實例化 JavascriptAction
JavascriptAction javaScript = new JavascriptAction("this.print({bUI:true,bSilent:false,bShrinkToFit:true});");
// 將 JavascriptAction 對象分配給所需的文檔操作
doc.OpenAction = javaScript;
// 在頁面級別添加 JavaScript
doc.Pages[2].Actions.OnOpen = new JavascriptAction("app.alert('page 1 opened')");
doc.Pages[2].Actions.OnClose = new JavascriptAction("app.alert('page 1 closed')");
// 保存 PDF 文檔
doc.Save("output.pdf");
在 C# 中的 PDF 中添加文檔級 JavaScript
您還可以使用 Document.JavaScript 屬性將 JavaScript 添加到文檔級別。以下是在 C# 中將 JavaScript 添加到文檔級別的步驟。
- 使用 Document 類加載 PDF 文件。
- 使用 Document.JavaScript 集合添加 JavaScript 函數。
- 使用 Document.Save(String) 方法保存 PDF。
以下代碼示例顯示瞭如何在 C# 中將 JavaScript 添加到 PDF。
// 加載或創建 PDF 文件
Document doc = new Document();
// 添加頁面
doc.Pages.Add();
// 添加文檔級 JavaScript
doc.JavaScript["func1"] = "function func1() { hello(); }";
doc.JavaScript["func2"] = "function func2() { hello(); }";
// 保存 PDF 文檔
doc.Save("output.pdf");
在 C# 中從 PDF 中刪除 JavaScript
以下是使用 C# 從 PDF 中刪除 JavaScript 的步驟。
- 使用 Document 類加載 PDF 文件。
- 使用 Document.JavaScript.Remove(String) 方法刪除所需的 JavaScript 模塊。
- 使用 Document.Save(String) 方法保存 PDF。
以下代碼示例顯示瞭如何在 C# 中從 PDF 中刪除 JavaScript。
// 載入文件
Document doc1 = new Document("input.pdf");
// 獲取並打印 JavaScript 密鑰
IList keys = (System.Collections.IList)doc1.JavaScript.Keys;
foreach (string key in keys)
{
Console.WriteLine(key + " ==> " + doc1.JavaScript[key]);
}
// 使用鍵刪除 JavaScript
doc1.JavaScript.Remove("func1");
// 保存 PDF 文檔
doc1.Save("output.pdf");
獲得免費許可證
您可以獲得免費的臨時許可證,以便在沒有評估限制的情況下使用 Aspose.PDF for .NET。
結論
在本文中,您學習瞭如何使用 C# 將 JavaScript 添加到 PDF 文件。此外,您還了解瞭如何以編程方式從 PDF 中刪除 JavaScript。此外,您可以使用 文檔 探索更多關於 .NET PDF API 的信息。如果您有任何問題或疑問,可以通過我們的 論壇 與我們聯繫。