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.4.17342 Componente aggiuntivo di layout 9.4.17342
Test di regressione Ne sono passati 14,727 Download totali di NuGet 4,260,602

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: