Добавление JavaScript в PDF-файлы на C# .NET

PDF — это формат документов с богатым набором функций и возможностей. Одним из основных преимуществ PDF является его единообразная компоновка на разнородных платформах. Более того, он имеет возможность одновременно отображаться в настольных приложениях и веб-браузерах. По этой причине файлы PDF могут запускать JavaScript. В этой статье мы покажем, как добавить или удалить JavaScript в файлах PDF с помощью C#.

С# .NET API для добавления или удаления JavaScript в PDF

Aspose.PDF for .NET предназначен для создания PDF-файлов и управления ими в приложениях .NET. API позволяет легко создавать, обрабатывать и преобразовывать PDF-файлы с простыми и сложными макетами. Вы можете скачать двоичные файлы API или установить его с помощью NuGet.

PM> Install-Package Aspose.PDF

Добавить JavaScript в PDF-файлы на C#

Файлы PDF поддерживают Acrobat JavaScript, основанный на ядре JavaScript версии 1.5 стандарта ISO-16262, ранее известного как ECMAScript. Это объектно-ориентированный язык сценариев, разработанный Netscape Communications. Прежде чем приступить к добавлению JavaScript в PDF-файлы, давайте посмотрим на различия между Acrobat JavaScript и HTML JavaScript, который используется в веб-браузерах.

  • Acrobat JavaScript не имеет доступа к объектам на HTML-странице. Точно так же HTML JavaScript не может получить доступ к объектам в файле PDF.
  • HTML JavaScript может манипулировать такими объектами, как Window. Однако Acrobat JavaScript не может получить доступ к этим конкретным объектам, но может манипулировать объектами, специфичными для PDF.

Ниже приведены шаги по добавлению JavaScript в файл PDF на C#.

  • Загрузите файл PDF с помощью класса Document.
  • Создайте экземпляр класса JavascriptAction и инициализируйте его нужным скриптом.
  • Назначьте объект JavascriptAction свойству Document.OpenAction для JavaScript уровня документа.
  • Чтобы добавить JavaScript на уровне страницы, используйте свойство Document.Pages[index].Actions.
  • Сохраните PDF, используя метод Document.Save(String).

В следующем примере кода показано, как добавить JavaScript в PDF.

// Загрузите PDF-файл
Document doc = new Document("input.pdf");

// Создайте экземпляр JavascriptAction с желаемым оператором JavaScript
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");

Добавить JavaScript уровня документа в PDF на С#

Вы также можете добавить JavaScript на уровень документа, используя свойство Document.JavaScript. Ниже приведены шаги по добавлению JavaScript на уровень документа в C#.

  • Загрузите файл PDF с помощью класса Document.
  • Используйте коллекцию Document.JavaScript для добавления функций JavaScript.
  • Сохраните PDF, используя метод Document.Save(String).

В следующем примере кода показано, как добавить JavaScript в PDF-файл на C#.

// Загрузите или создайте файл 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");

Удалить JavaScript из PDF на С#

Ниже приведены шаги по удалению JavaScript из PDF-файла на C#.

В следующем примере кода показано, как удалить JavaScript из PDF-файла на C#.

// Загрузить документ
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 для .NET без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как добавить JavaScript в файлы PDF на C#. Кроме того, вы видели, как программно удалить JavaScript из PDF. Кроме того, вы можете узнать больше о .NET PDF API, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.

Смотрите также