Créer des fichiers pdf à l’exécution dans c #

Y a-t-il une bibliothèque pdf attachée / qui peut être attachée à .NET 3.5 qui permet la création de fichiers pdf à l’exécution, ouvrant un nouveau fichier pdf, écrivant ligne par ligne, incorporant des images, etc. ?

Ce que je veux, c’est un ensemble d’outils et de spécifications qui me permettent d’implémenter un enregistreur pdf personnalisé en C # sans utiliser l’option de sortie pdf de Reporting Services.

iTextSharp http://itextsharp.sourceforge.net/

Complexe mais complet.

iTextSharp n’est plus sous licence MIT / LGPL. Les versions supérieures à 4.1.6 sont sous licence Affero GPL, ce qui signifie que vous ne pouvez même pas les utiliser dans un scénario SaaS (Software as a Service) sans licence de votre code sous licence GPL ou sous licence GPL.

D’autres implémentations PDF opensource dans .NET natif incluent

  • PDF Clown (assurez-vous d’avoir les correctifs dans la dernière version)
  • PDFSharp
  • PDFJet édition open source (version commerciale également disponible, et vous aurez besoin du JDK installé pour le construire)

Il existe également deux bibliothèques Java PDF (comme PDFBox) que vous pouvez convertir en .NET en utilisant IKVM.

Jetez un coup d’oeil à PDFSharp

Il est open source et il est écrit en .NET, je l’utilise moi-même pour générer des factures PDF.

Eh bien, gratuit et gratuit, j’utilise le composant WebSuperGoo ABCpdf .NET , que j’adore!

pas gratuit parce que vous devez payer pour cela.

gratuitement parce que même si vous devez payer, ils ont une version d’évaluation et vous pouvez demander une licence gratuite si cela ne vous dérange pas, dans votre site affiche “Ce site utilise le composant WebSuperGoo ABCpdf .NET” avec un lien vers leur site.

Je l’ai fait et j’ai obtenu une licence gratuite (version 5 à ce moment-là), donc je peux dire que cela fonctionne (même si le site n’est plus en ligne) – j’ai toujours le composant ~ 🙂

Une chose merveilleuse que j’adore, c’est que vous pouvez faire tout ce que vous pouvez avec cela, créer des formulaires PDF et les remplir dynamicment et les envoyer à l’utilisateur par courrier ou les faire télécharger, créer un pdf à partir de zéro, convertir le HTML pages en PDF, etc etc etc, s’il vous plaît lire la documentation, c’est un composant merveilleux.

Je recommande fortement: iTextSharp

J’ai utilisé ( iTextSharp ) dans le passé avec de bons résultats.

J’ai posté un exemple d’utilisation de iTextSharp dans l’un de mes blogs:

http://devpinoy.org/blogs/marl/archive/2008/02/14/create-pdf-in-c-2008-a-pdf-sample-app-for-grade-1-pupils.aspx

La bibliothèque Docotic.Pdf peut être facilement utilisée pour créer des fichiers PDF au moment de l’exécution. La bibliothèque peut également modifier des documents PDF existants (extraire du texte / des images, append des pages, remplir des champs de formulaire, etc.)

Des exemples de tâches courantes sont disponibles sur le site de la bibliothèque.

Disclaimer: Je travaille pour Bit Miracle.

Qu’en est-il de iTextSharp ?

iText est une bibliothèque de génération PDF (entre autres) qui est également scope (et conservée en synchronisation) sur C #.

Pour cela, j’ai cherché à lancer des applications LaTeX pour générer un pdf. Bien que cette option soit probablement beaucoup plus compliquée et lourde que celles énumérées ici.

J’ai utilisé Gnostice dans le passé et je les ai trouvés très bons.

http://www.gnostice.com/PDFOne_dot_Net.asp

Amyuni PDF Converter .Net peut également être utilisé pour cela. Et cela vous permettra également de modifier les fichiers existants, d’y appliquer l’OCR et d’extraire du texte, de créer des images raster (pour la génération de vignettes par exemple), d’optimiser la sortie PDF pour la visualisation Web, etc.

Déni de responsabilité habituel

Il existe un nouveau projet, RazorPDF, utilisable depuis ASP.NET MVC. Il est disponible sous forme de paquet nuget (recherche de RazorPDF).

Voici plus d’infos: http://nyveldt.com/blog/post/Introducing-RazorPDF

MISE À JOUR IMPORTANTE comme @DenNukem a souligné, cela dépend de iTextsharp, j’ai oublié de modifier la réponse quand je l’ai découvert (quand j’ai essayé de l’utiliser), donc si votre projet n’est pas open source et éligible pour leur licence AGPL, il sera probablement être trop coûteux à utiliser.