Adicionar JavaScript a arquivos PDF em C# .NET

PDF é um formato de documento rico em termos de versatilidade e recursos. Uma das principais vantagens do PDF é seu layout consistente em plataformas heterogêneas. Além disso, ele tem a capacidade de ser exibido em aplicativos de desktop e navegadores da Web ao mesmo tempo. Esta é a razão pela qual os arquivos PDF são capazes de executar JavaScript. Neste artigo, demonstraremos como adicionar ou remover JavaScript em arquivos PDF usando C#.

API C# .NET para adicionar ou remover JavaScript em PDF

Aspose.PDF for .NET foi projetado para gerar e manipular PDF dentro dos aplicativos .NET. A API permite criar, processar e converter facilmente arquivos PDF de layouts simples e complexos. Você pode baixar os binários da API ou instalá-la usando NuGet.

PM> Install-Package Aspose.PDF

Adicionar JavaScript a arquivos PDF em C#

Os arquivos PDF suportam o Acrobat JavaScript, que é baseado no núcleo do JavaScript versão 1.5 da ISO-16262, anteriormente conhecido como ECMAScript. É uma linguagem de script orientada a objetos desenvolvida pela Netscape Communications. Antes de continuar a adicionar JavaScript a arquivos PDF, vamos dar uma olhada nas diferenças entre Acrobat JavaScript e HTML JavaScript que é usado em navegadores da web.

  • O Acrobat JavaScript não tem acesso a objetos em uma página HTML. Da mesma forma, JavaScript HTML não pode acessar objetos em um arquivo PDF.
  • HTML JavaScript é capaz de manipular objetos como Window. No entanto, o Acrobat JavaScript não pode acessar esses objetos específicos, mas pode manipular objetos específicos de PDF.

A seguir estão as etapas para adicionar JavaScript a um arquivo PDF em C#.

O exemplo de código a seguir mostra como adicionar JavaScript a um PDF.

// Carregar um arquivo PDF
Document doc = new Document("input.pdf");

// Instanciar JavascriptAction com a instrução JavaScript desejada
JavascriptAction javaScript = new JavascriptAction("this.print({bUI:true,bSilent:false,bShrinkToFit:true});");

// Atribua o objeto JavascriptAction à ação desejada do documento
doc.OpenAction = javaScript;

// Adicionando JavaScript no nível da página
doc.Pages[2].Actions.OnOpen = new JavascriptAction("app.alert('page 1 opened')");
doc.Pages[2].Actions.OnClose = new JavascriptAction("app.alert('page 1 closed')");

// Salvar documento PDF
doc.Save("output.pdf");

Adicionar JavaScript em nível de documento em um PDF em C#

Você também pode adicionar JavaScript ao nível do documento usando a propriedade Document.JavaScript. A seguir estão as etapas para adicionar JavaScript ao nível de documento em C#.

O exemplo de código a seguir mostra como adicionar JavaScript a um PDF em C#.

// Carregar ou criar arquivo PDF
Document doc = new Document();

// Adicionar Página
doc.Pages.Add();

// Adicionar JavaScript no nível do documento
doc.JavaScript["func1"] = "function func1() { hello(); }";
doc.JavaScript["func2"] = "function func2() { hello(); }";

// Salvar documento PDF
doc.Save("output.pdf");

Remover JavaScript de um PDF em C#

A seguir estão as etapas para remover JavaScript de um PDF em C#.

O exemplo de código a seguir mostra como remover JavaScript de um PDF em C#.

// Carregar documento
Document doc1 = new Document("input.pdf");

// Obter e imprimir chaves JavaScript
IList keys = (System.Collections.IList)doc1.JavaScript.Keys;
foreach (string key in keys)
{
    Console.WriteLine(key + " ==> " + doc1.JavaScript[key]);
}

// Remover JavaScript usando a chave
doc1.JavaScript.Remove("func1");

// Salvar documento PDF
doc1.Save("output.pdf");

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.PDF para .NET sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como adicionar JavaScript a arquivos PDF em C#. Além disso, você viu como remover o JavaScript de um PDF programaticamente. Além disso, você pode explorar mais sobre a API .NET PDF usando a documentação. Caso você tenha alguma dúvida ou pergunta, você pode entrar em contato conosco através do nosso fórum.

Veja também