C#/VB.NET: crea un documento PDF

2023-08-18 02:02:47

Installato tramite NuGet

PM> Install-Package Spire.PDF

Link correlati

La creazione di documenti PDF dal codice offre una vasta gamma di vantaggi. Ad esempio, è possibile incorporare facilmente contenuto dinamico come input dell'utente, record di database o dati in tempo reale. La generazione di PDF basata su codice consente una maggiore personalizzazione e automazione, riducendo al minimo l'intervento manuale nella creazione di documenti altamente personalizzati. In questo articolo imparerai come creare un documento PDF da zero in C# e VB.NET utilizzando Spire.PDF for .NET.

Installa Spire.PDF for .NET

Per cominciare, è necessario aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.

PM> Install-Package Spire.PDF

Conoscenze di base

Una pagina in Spire.PDF (rappresentata da PdfPageBase) è costituita da area client e margini tutt'intorno. L'area del contenuto consente agli utenti di scrivere vari contenuti e i margini sono generalmente bordi vuoti.

Come mostrato nella figura seguente, l'origine del sistema di coordinate sulla pagina si trova nell'angolo in alto a sinistra dell'area client, con l'asse x che si estende orizzontalmente verso destra e l'asse y che si estende verticalmente verso il basso. Tutti gli elementi aggiunti all'area client devono essere basati sulle coordinate specificate.

C#/VB.NET: Create a PDF Document

Inoltre, la tabella seguente elenca le classi e i metodi importanti, che possono aiutarti a comprendere facilmente il frammento di codice fornito nella sezione seguente.

Membro Descrizione
Classe PdfDocument Rappresenta un modello di documento PDF.
Classe PdfPageBase Rappresenta una pagina in un documento PDF.
Classe PdfSolidBrush Rappresenta un pennello che riempie qualsiasi oggetto con un colore a tinta unita.
Classe PdfTrueTypeFont Rappresenta un font true type.
Classe PdfStringFormat Rappresenta le informazioni sul formato del testo, come l'allineamento, la spaziatura dei caratteri e il rientro.
Classe PdfTextWidget Rappresenta l'area di testo con la possibilità di estendersi su più pagine.
Classe PdfTextLayout Rappresenta le informazioni sul layout del testo.
Metodo PdfDocument.Pages.Add() Aggiunge una pagina a un documento PDF.
Metodo PdfPageBase.Canvas.DrawString() Disegna una stringa su una pagina nella posizione specificata con caratteri e oggetti pennello specificati.
Metodo PdfTextWidget.Draw() Disegna il widget di testo su una pagina nella posizione specificata.
Metodo PdfDocument.Save() Salva il documento in un file PDF.

Crea un documento PDF da zero in C# e VB.NET

Sebbene Spire.PDF for .NET supporti l'aggiunta di vari tipi di elementi ai documenti PDF, questo articolo illustra solo come creare un documento PDF con testo normale. Di seguito sono riportati i passaggi dettagliati.

  • Creare un oggetto PdfDocument.
  • Aggiungere una pagina utilizzando il metodo PdfDocument.Pages.Add().
  • Crea oggetti pennello e carattere.
  • Disegna la stringa sulla pagina in corrispondenza di una coordinata specificata utilizzando il metodo PdfPageBase.Canvas.DrawString().
  • Crea un oggetto PdfTextWidget per contenere una porzione di testo.
  • Disegna il widget di testo sulla pagina in una posizione specificata utilizzando il metodo PdfTextWidget.Draw().
  • Salvare il documento in un file PDF utilizzando il metodo PdfDocument.Save().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    namespace CreatePdfDocument
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Add a page
                PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f));
    
                //Specify heading text
                String titleText = "What is MySQL";
    
                //Create solid brushes
                PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue));
                PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black));
    
                //Create true type fonts
                PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Times New Roman", 18f, FontStyle.Bold),true);
                PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Regular), true);
    
                //Set the text alignment via PdfStringFormat class
                PdfStringFormat format = new PdfStringFormat();
                format.Alignment = PdfTextAlignment.Center;
    
                //Draw heading on the center of the page
                page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format);
    
                //Get paragraph content from a .txt file
                string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\content.txt");
    
                //Create a PdfTextWidget object to hold the paragrah content
                PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush);
    
                //Create a rectangle where the paragraph content will be placed
                RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height);
    
                //Set the PdfLayoutType to Paginate to make the content paginated automatically
                PdfTextLayout layout = new PdfTextLayout();
                layout.Layout = PdfLayoutType.Paginate;
    
                //Draw the widget on the page
                widget.Draw(page, rect, layout);
    
                //Save to file
                doc.SaveToFile("CreatePdfDocument.pdf");
                doc.Dispose();
            }
        }
    }

C#/VB.NET: Create a PDF Document

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni delle funzioni, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche