Aggiungi JavaScript ai file PDF in C# .NET

PDF è un formato di documento ricco in termini di versatilità e funzionalità. Uno dei principali vantaggi del PDF è il suo layout coerente su piattaforme eterogenee. Inoltre, ha la possibilità di essere visualizzato contemporaneamente nelle applicazioni desktop e nei browser Web. Questo è il motivo per cui i file PDF sono in grado di eseguire JavaScript. In questo articolo, dimostreremo come aggiungere o rimuovere JavaScript nei file PDF utilizzando C#.

API C# .NET per aggiungere o rimuovere JavaScript in PDF

Aspose.PDF for .NET è progettato per eseguire la generazione e la manipolazione di PDF all’interno delle applicazioni .NET. L’API ti consente di creare, elaborare e convertire senza problemi file PDF di layout semplici e complessi. Puoi scaricare i binari dell’API o installarlo utilizzando NuGet.

PM> Install-Package Aspose.PDF

Aggiungi JavaScript ai file PDF in C#

I file PDF supportano Acrobat JavaScript, che si basa sul nucleo di JavaScript versione 1.5 di ISO-16262, precedentemente noto come ECMAScript. È un linguaggio di scripting orientato agli oggetti sviluppato da Netscape Communications. Prima di procedere con l’aggiunta di JavaScript ai file PDF, diamo un’occhiata alle differenze tra JavaScript Acrobat e JavaScript HTML utilizzato nei browser Web.

  • Acrobat JavaScript non ha accesso agli oggetti all’interno di una pagina HTML. Allo stesso modo, JavaScript HTML non può accedere agli oggetti all’interno di un file PDF.
  • HTML JavaScript è in grado di manipolare oggetti come Window. Tuttavia, Acrobat JavaScript non può accedere a questi particolari oggetti ma può manipolare oggetti specifici del PDF.

Di seguito sono riportati i passaggi per aggiungere JavaScript a un file PDF in C#.

L’esempio di codice seguente mostra come aggiungere JavaScript a un PDF.

// Carica un file PDF
Document doc = new Document("input.pdf");

// Istanzia JavascriptAction con l'istruzione JavaScript desiderata
JavascriptAction javaScript = new JavascriptAction("this.print({bUI:true,bSilent:false,bShrinkToFit:true});");

// Assegna l'oggetto JavascriptAction all'azione desiderata del documento
doc.OpenAction = javaScript;

// Aggiunta di JavaScript a livello di pagina
doc.Pages[2].Actions.OnOpen = new JavascriptAction("app.alert('page 1 opened')");
doc.Pages[2].Actions.OnClose = new JavascriptAction("app.alert('page 1 closed')");

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

Aggiungi JavaScript a livello di documento in un PDF in C#

Puoi anche aggiungere JavaScript a livello di documento utilizzando la proprietà Document.JavaScript. Di seguito sono riportati i passaggi per aggiungere JavaScript a livello di documento in C#.

L’esempio di codice seguente mostra come aggiungere JavaScript a un PDF in C#.

// Carica o crea file PDF
Document doc = new Document();

// Aggiungi pagina
doc.Pages.Add();

// Aggiungi JavaScript a livello di documento
doc.JavaScript["func1"] = "function func1() { hello(); }";
doc.JavaScript["func2"] = "function func2() { hello(); }";

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

Rimuovere JavaScript da un PDF in C#

Di seguito sono riportati i passaggi per rimuovere JavaScript da un PDF in C#.

L’esempio di codice seguente mostra come rimuovere JavaScript da un PDF in C#.

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

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

// Rimuovi JavaScript usando la chiave
doc1.JavaScript.Remove("func1");

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

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.PDF per .NET senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come aggiungere JavaScript ai file PDF in C#. Inoltre, hai visto come rimuovere JavaScript da un PDF a livello di codice. Inoltre, puoi esplorare di più sull’API .NET PDF utilizzando la documentazione. In caso di domande o domande, puoi contattarci tramite il nostro forum.

Guarda anche