Crea documenti PDF usando C#

La generazione e l’elaborazione automatizzate di documenti PDF sono diventate una caratteristica impegnativa negli ultimi giorni. In varie applicazioni, i documenti PDF vengono generati dinamicamente come fatture, ricevute e diversi tipi di report. In base a ciò, questo articolo copre l’implementazione di base dell’automazione PDF all’interno delle applicazioni .NET. Alla fine, imparerai come creare file PDF usando C#. Gli esempi di codice dimostreranno come inserire testo, immagini, tabelle e altri componenti in PDF usando C#.

API C# .NET PDF - Download gratuito

Aspose.PDF for .NET è un’API di manipolazione dei file PDF che ti consente di generare ed elaborare file PDF dall’interno delle tue applicazioni .NET. Utilizzando l’API puoi generare vari tipi di report e documenti aziendali in modo dinamico. L’API è disponibile come DLL scaricabile e ospitata su NuGet.

Install-Package Aspose.Pdf

Crea file PDF in C#

Iniziamo creando un semplice documento PDF contenente un frammento di testo. Di seguito sono riportati i passaggi per creare un file PDF utilizzando C#.

L’esempio di codice seguente mostra come creare un semplice file PDF usando C#.

// Inizializza oggetto documento
Document document = new Document();

// Aggiungi pagina
Page page = document.Pages.Add();

// Aggiungi testo a una nuova pagina
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// Salva PDF 
document.Save("document.pdf");

Ulteriori informazioni sulla creazione di documenti PDF complessi.

Modifica un file PDF in C#

Modificare un file PDF è semplice come crearne uno nuovo. Basta caricare il file utilizzando la classe Document, eseguire le operazioni desiderate e salvarlo. Di seguito sono riportati i passaggi per modificare un PDF.

  • Crea un oggetto della classe Document e fornisci il percorso di un file PDF al suo costruttore.
  • Manipolare le pagine o il contenuto del documento.
  • Salva il documento usando il metodo Document.Save().

L’esempio di codice seguente mostra come modificare un PDF usando C#.

// Carica PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// Fai delle manipolazioni, ad esempio aggiungi una nuova pagina vuota
pdfDocument.Pages.Add();

// Salva il PDF aggiornato
pdfDocument.Save(modifiedFileName);

Inserisci immagine in PDF usando C#

Vediamo ora come inserire un’immagine nel documento PDF. Di seguito sono riportati i passaggi per farlo.

  • Crea un oggetto della classe Document per aprire un documento PDF.
  • Accedi alla pagina a cui vuoi aggiungere un’immagine usando la classe Pagina.
  • Aggiungi l’immagine alla raccolta Risorse della pagina.
  • Utilizzare gli operatori per posizionare l’immagine sulla pagina:
    • GSave operator to save the current graphical state.
    • Concatenate Matrix operator to specify where the image is to be placed.
    • Fare operator to draw the image on the page.
    • Infine, utilizzare l’operatore GRstore per salvare lo stato grafico aggiornato.
  • Salva il file PDF.

L’esempio di codice seguente mostra come aggiungere un’immagine a un documento PDF usando C#.

// Apri documento
Document pdfDocument = new Document("document.pdf");

// Imposta le coordinate
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Ottieni la pagina in cui è necessario aggiungere l'immagine
Page page = pdfDocument.Pages[1];

// Carica l'immagine nello stream
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// Aggiungi un'immagine alla raccolta Immagini delle risorse della pagina
page.Resources.Images.Add(imageStream);

// Utilizzo dell'operatore GSave: questo operatore salva lo stato grafico corrente
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Crea oggetti Rettangolo e Matrice
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// Utilizzo dell'operatore ConcatenateMatrix (matrice concatenata): definisce come deve essere posizionata l'immagine
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Usando l'operatore Do: questo operatore disegna l'immagine
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// Utilizzo dell'operatore GRestore: questo operatore ripristina lo stato grafico
page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); 

// Salva documento aggiornato
pdfDocument.Save("document.pdf");

Maggiori informazioni su inserire immagini in PDF.

Crea una tabella in PDF usando C#

Le tabelle sono una componente essenziale dei documenti utilizzati per organizzare i dati sotto forma di righe e colonne. Aspose.PDF per .NET fornisce un modo abbastanza semplice per creare e inserire tabelle nei documenti PDF. Di seguito sono riportati i passaggi per eseguire questa operazione.

  • Carica il file PDF utilizzando la classe Documento.
  • Inizializza una tabella e imposta le sue colonne e righe usando la classe Table.
  • Imposta le impostazioni della tabella (es. bordi).
  • Popolare la tabella creando righe utilizzando il metodo Table.Rows.Add().
  • Aggiungere la tabella alla pagina utilizzando il metodo Document.Pages1.Paragraphs.Add(Table).
  • Salva il file PDF.

L’esempio di codice seguente mostra come creare e aggiungere una tabella in un documento PDF in C#.

// Carica il documento PDF di origine
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// Inizializza una nuova istanza della tabella
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// Imposta il colore del bordo della tabella come LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Imposta il bordo per le celle della tabella
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Crea un ciclo per aggiungere 10 righe
for (int row_count = 1; row_count < 10; row_count++)
{
    // Aggiungi riga alla tabella
    Aspose.Pdf.Row row = table.Rows.Add();
    // Aggiungi celle di tabella
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// Aggiungi l'oggetto tabella alla prima pagina del documento di input
doc.Pages[1].Paragraphs.Add(table);

// Salva il documento aggiornato contenente l'oggetto tabella
doc.Save("document_with_table_out.pdf");

Maggiori informazioni sulla creazione di tabelle in PDF.

Crea un modulo in PDF in C#

I moduli in PDF vengono utilizzati per raccogliere i dati dai lettori. Puoi inserire caselle di testo, caselle di controllo, pulsanti di opzione e altri controlli supportati nei moduli PDF. Il formato PDF supporta due tipi di moduli; Moduli Acro e moduli XFA (vedi dettagli). Di seguito sono riportati i passaggi per creare e aggiungere moduli in un PDF.

L’esempio di codice seguente mostra come aggiungere moduli al documento PDF usando C#.

// Apri documento
Document pdfDocument = new Document("document.pdf");

// Crea un campo
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = nuovo bordo(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// Aggiungi campo al documento
pdfDocument.Form.Add(textBoxField, 1);

// Salva PDF modificato
pdfDocument.Save("output.pdf");

Maggiori informazioni sulla creazione di moduli in PDF.

Conclusione

In questo post, hai imparato come creare file PDF da zero usando C#. Inoltre, hai imparato a inserire vari tipi di componenti come testo, immagini, tabelle e moduli in un documento PDF in modo programmatico. Puoi saperne di più sull’API PDF utilizzando la documentazione.

Guarda anche

Informazioni: Aspose fornisce un’app Web online gratuita che ti consente di visualizzare i PDF online, un’altra che ti consente di convertire i PDF in video e un’altra che ti consente di modificare i PDF online.