Cette page peut contenir du texte traduit automatiquement.

Bibliothèque .NET pour la génération de PDF

Générez des documents PDF à l'aide de l'API de mise en page qui peut créer des fichiers PDF aussi complexes ou simples que vous le souhaitez. Décrivez la mise en page de votre document dans le code à l'aide de l'API Fluent. Le puissant générateur PDF C# avec prise en charge de la pagination fera le reste.

Utilisez des éléments structurels comme éléments de base dans le code C# ou VB.NET pour obtenir des documents parfaits. Les éléments sont des pages, des conteneurs, des tableaux, des paragraphes, des images, des liens, etc. La bibliothèque divisera automatiquement le contenu du document en pages. Vous pouvez ajouter des en-têtes et des pieds de page. L'API prend en charge les composants réutilisables personnalisés. L'API Layout propose des composants intégrés comme une table des matières ou des filigranes.

Bibliothèque de génération PDF

L'API de mise en page est disponible sous forme de module complémentaire gratuit pour la bibliothèque Docotic.Pdf. La bibliothèque et le module complémentaire sont tous deux des DLL de code géré à 100 %. Ils n'ont pas de dépendances externes tierces. Vous pouvez utiliser l'API pour créer des documents PDF sous Windows, Linux, dans les environnements cloud Amazon et Azure. macOS, iOS et Android conviennent également.

Les modules complémentaires Docotic.Pdf et Layout2 sont disponibles sur NuGet et sur notre site. Obtenez la bibliothèque, le module complémentaire et une clé de licence gratuite à durée limitée sur la page Télécharger la bibliothèque PDF C# .NET.

Bibliothèque Docotic.Pdf 9.5.17615-dev Module complémentaire de mise en page 9.5.17615-dev
Tests de régression 14,813 réussis Téléchargements totaux de NuGet 4,924,084

API fluide pour créer des PDF

Le module complémentaire fournit une API fluide. Vous pouvez enchaîner la plupart des appels. Cela conduit à un code plus compact qu'avec les frameworks « déclaratifs ». Et vous pouvez toujours utiliser toutes les approches habituelles pour développer du code. Par exemple, vous pouvez rendre l'implémentation de votre mise en page plus concise avec des parties réutilisables provenant de classes et de méthodes d'assistance.

Comment créer un document PDF en C#

Ok, il est temps de donner quelques exemples.

Bonjour PDF !

Voici un exemple simple qui montre comment générer un PDF en C# à l'aide de l'API Layout. Il crée un document de deux pages. C'est un peu synthétique mais illustre le fonctionnement de 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());
    });
});

Méthode PdfDocumentBuilder.Generate fournit une instance de Classe Document. A l'aide de l'objet et de sa méthode Pages, il est possible de définir une mise en page pour une ou plusieurs pages.

L'exemple de code définit la taille de la page et décrit le contenu dans les emplacements Header, Content et Footer. Tous ces emplacements ont le même type LayoutContainer. LayoutContainer est un élément clé de l'API de mise en page. En utilisant des conteneurs, vous pouvez générer des mises en page arbitraires.

Le moteur de mise en page génère des pages pour contenir toutes les données. Le nombre exact dépend du contenu de PageLayout.Content et des autres emplacements. La bibliothèque répète le contenu des emplacements Header et Footer sur chaque page. Toutes les pages auront la même taille.

Pour avoir des pages avec une mise en page différente ou de taille différente, utilisez plusieurs appels à la méthode Pages.

Créer un PDF texte en C#

Une tâche courante consiste à convertir une chaîne de texte en fichier PDF. Le code suivant utilise l'API de mise en page pour créer un document PDF à partir d'un fichier texte en C#.

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

Le code lit tout le texte du fichier et l'utilise pour l'emplacement Content. Il n'est pas nécessaire de calculer des tailles ou de diviser la chaîne de texte en morceaux. Le module complémentaire Layout prend en charge toutes ces tâches. Grâce à l'API, il est facile de convertir du texte en PDF en code C#.

Chiffrer un PDF dans .NET

Pour produire un PDF chiffré, utilisez un gestionnaire de chiffrement comme dans l'exemple de code C# suivant.

PdfDocumentBuilder
    .Create()
    .Encryption(new PdfStandardEncryptionHandler("owner", "user"))
    .Generate("encrypted-with-password.pdf", doc => doc.Pages(page =>
    {
        // présentez le contenu de la page ici
    }));

La bibliothèque produira un PDF crypté avec les mots de passe de l'utilisateur et du propriétaire. Il est possible de spécifier les autorisations PDF pour les utilisateurs du document crypté. Vous pouvez également protéger les PDF avec des certificats.

Lectures complémentaires

L'API Layout fournit de nombreux moyens pour générer des PDF en C#. Nous vous encourageons à les lire dans les articles suivants :