Questa pagina può contenere testo tradotto automaticamente.

Libreria .NET per la generazione di PDF

Genera documenti PDF utilizzando l'API di layout in grado di creare file PDF complessi o semplici in base alle tue esigenze. Descrivi il layout del tuo documento nel codice utilizzando l'API Fluent. Il potente generatore PDF C# con supporto per il paging farà il resto.

Utilizza gli elementi strutturali come elementi costitutivi nel codice C# o VB.NET per ottenere documenti perfetti. Gli elementi sono pagine, contenitori, tabelle, paragrafi, immagini, collegamenti e simili. La libreria suddividerà automaticamente il contenuto del documento in pagine. Puoi aggiungere intestazioni e piè di pagina. L'API supporta componenti riutilizzabili personalizzati. L'API Layout offre componenti integrati come sommario o filigrane.

Libreria di generazione PDF

L'API di layout è disponibile come componente aggiuntivo gratuito per la libreria Docotic.Pdf. Sia la libreria che il componente aggiuntivo sono DLL di codice gestito al 100%. Non hanno dipendenze esterne di terze parti. Puoi utilizzare l'API per creare documenti PDF su Windows, Linux, negli ambienti cloud Amazon e Azure. Anche macOS, iOS e Android vanno bene.

Docotic.Pdf e il componente aggiuntivo Layout sono disponibili su NuGet e dal nostro sito. Per provare la libreria senza restrizioni della modalità di valutazione, ottenere la chiave di licenza gratuita a tempo limitato nella pagina della libreria.

Libreria Docotic.Pdf 9.3.17105-dev Componente aggiuntivo di layout 9.3.17105-dev
Test di regressione Ne sono passati 14,681 Download totali di NuGet 4,234,061

API fluente per creare PDF

Il componente aggiuntivo fornisce un'API fluente. È possibile concatenare la maggior parte delle chiamate. Ciò porta a un codice più compatto rispetto ai framework "dichiarativi". Ed è ancora possibile utilizzare tutti gli approcci normali allo sviluppo del codice. Ad esempio, puoi rendere l'implementazione del layout più concisa con parti riutilizzabili di classi e metodi helper.

Come creare un documento PDF in C#

Ok, è il momento di fare alcuni esempi.

Ciao, PDF!

Ecco un semplice esempio che mostra come generare PDF in C# utilizzando l'API Layout. Crea un documento con due pagine. È un po' sintetico ma illustra il modo in cui funziona l'API.

PdfDocumentBuilder.Create().Generate("pages.pdf", doc =>
{
    doc.Pages((PageLayout page) =>
    {
        page.Size(PdfPaperSize.A5);

        page.Header().PaddingTop(70).AlignCenter().Text("Hello, PDF!");

        page.Content().Column(c =>
        {
            for (int i = 0; i < 10; i++)
                c.Item().AlignCenter().Text($"Page 1 block {i + 1}");

            c.Item().PageBreak();
            c.Item().Text("Page 2");
        });

        page.Footer().Text(t => t.CurrentPageNumber());
    });
});

Il metodo PdfDocumentBuilder.Generate fornisce un'istanza della classe Document. Utilizzando l'oggetto e il suo metodo Pages è possibile definire un layout per una o più pagine.

Il codice di esempio imposta la dimensione della pagina e descrive i contenuti negli slot Header, Content e Footer. Tutti questi slot hanno lo stesso tipo LayoutContainer. LayoutContainer è un elemento chiave dell'API di layout. Utilizzando i contenitori è possibile generare layout arbitrari.

Il motore di layout genera pagine per contenere tutti i dati. Il numero esatto dipende dal contenuto in PageLayout.Content e in altri slot. La libreria ripete il contenuto degli slot Header e Footer su ogni pagina. Tutte le pagine avranno la stessa dimensione.

Per avere pagine con layout o dimensioni diverse, utilizza più di una chiamata al metodo Pages.

Crea PDF di testo in C#

Un'attività comune è convertire una stringa di testo in un file PDF. Il codice seguente usa l'API di layout per creare un documento PDF da un file di testo in C#.

PdfDocumentBuilder
    .Create()
    .Generate("long-text.pdf", doc => doc.Pages(page =>
    {
        string text = File.ReadAllText(@"PDF_Succinctly.txt");
        page.Content().Text(text);
    }));

Il codice legge tutto il testo dal file e lo utilizza per lo slot Content. Non è necessario calcolare alcuna dimensione o dividere la stringa di testo in blocchi. Il componente aggiuntivo Layout si occupa di tutte queste attività. Utilizzando l'API, è facile convertire il testo in PDF nel codice C#.

Crittografa PDF in .NET

Per produrre un PDF crittografato, utilizzare un gestore di crittografia come nell'esempio di codice C# seguente.

PdfDocumentBuilder
    .Create()
    .Encryption(new PdfStandardEncryptionHandler("owner", "user"))
    .Generate("encrypted-with-password.pdf", doc => doc.Pages(page =>
    {
        // disporre qui il contenuto della pagina
    }));

La libreria produrrà un PDF crittografato con le password dell'utente e del proprietario. È possibile specificare le autorizzazioni PDF per gli utenti del documento crittografato. Puoi anche proteggere i PDF con certificati.

Ulteriori letture

L'API Layout offre molti mezzi per generare PDF in C#. Ti invitiamo a leggerli nei seguenti articoli: