PDF 在多功能性和功能方面是一种丰富的文档格式。 PDF 的主要优势之一是其跨异构平台的一致布局。此外,它还可以同时在桌面应用程序和网络浏览器中显示。这就是 PDF 文件能够运行 JavaScript 的原因。在本文中,我们将演示如何使用 C# 在 PDF 文件中添加或删除 JavaScript。
C# .NET API 在 PDF 中添加或删除 JavaScript
Aspose.PDF for .NET 旨在在 .NET 应用程序中执行 PDF 生成和操作。 API 让您可以无缝地创建、处理和转换简单和复杂布局的 PDF 文件。您可以 下载 API 的二进制文件或使用 NuGet 安装它。
PM> Install-Package Aspose.PDF
在 C# 中将 JavaScript 添加到 PDF 文件
PDF 文件支持 Acrobat JavaScript,它基于 JavaScript 版本 1.5 的 ISO-16262(以前称为 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]);
}
// 使用 key 移除 JavaScript
doc1.JavaScript.Remove("func1");
// 保存 PDF 文档
doc1.Save("output.pdf");
获得免费许可证
您可以获得免费的临时许可证 以便在没有评估限制的情况下使用 Aspose.PDF for .NET。
结论
在本文中,您学习了如何在 C# 中将 JavaScript 添加到 PDF 文件。此外,您还了解了如何以编程方式从 PDF 中删除 JavaScript。此外,您可以使用 文档 探索更多关于 .NET PDF API 的信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。