Crear archivos pdf en tiempo de ejecución en c #

¿Hay una biblioteca pdf adjunta / que se pueda adjuntar a .NET 3.5 que permita la creación de archivos pdf en tiempo de ejecución, es decir, abrir un nuevo archivo pdf, escribir línea por línea, incrustar imágenes, etc. y cerrar el archivo pdf todo en código C # ?

Lo que quiero es un conjunto de herramientas y especificaciones que me permitan implementar un escritor de pdf personalizado en C # sin utilizar la opción de salida pdf de Reporting Services.

iTextSharp http://itextsharp.sourceforge.net/

Complejo pero completo

iTextSharp ya no tiene licencia bajo la licencia MIT / LGPL. Las versiones superiores a la 4.1.6 tienen licencia de Affero GPL, lo que significa que ni siquiera puede usarla en un escenario de SaaS (Software como servicio) sin licenciar su código bajo la licencia GPL o una licencia compatible con GPL.

Otras implementaciones de PDF opensource en .NET nativo incluyen

  • PDF Clown (asegúrese de obtener los parches de la última versión)
  • PDFSharp
  • PDFJet open source edition (versión comercial también disponible, y necesitará el JDK instalado para comstackrlo)

También hay un par de bibliotecas de PDF de Java (como PDFBox) que puede convertir a .NET usando IKVM.

Echa un vistazo a PDFSharp

Es de código abierto y está escrito en .NET, yo mismo lo uso para generar algunas facturas en PDF.

¡Bien, gratis y no gratis, uso el componente WebSuperGoo ABCpdf .NET , que me encanta!

no es gratis porque debe pagarlo.

gratis porque incluso si tiene que pagar, tienen una versión de prueba y puede solicitar una licencia gratuita si no le importa, en su sitio muestre “Este sitio usa el componente WebSuperGoo ABCpdf .NET” con un enlace a su sitio web.

Lo hice y obtuve una licencia gratuita (versión 5 en ese momento) así que puedo decir que funciona (incluso si el sitio web ya no está en línea). Todavía tengo y uso el componente ~ 🙂

Una cosa maravillosa que me encanta con esto es que puedes hacer todo lo que puedas con esto, crear formularios en PDF y rellenarlos y enviarlos al usuario por correo electrónico o hacer que se descarguen, crear un pdf desde cero, convertir HTML páginas en PDF, etc. etc, etc., lea la documentación, es un componente maravilloso.

Recomiendo encarecidamente: iTextSharp

La biblioteca Docotic.Pdf se puede usar fácilmente para crear archivos PDF en tiempo de ejecución. La biblioteca también puede modificar documentos PDF existentes (extraer texto / imágenes, agregar páginas, rellenar campos de formulario, etc.)

Las muestras para tareas comunes están disponibles en el sitio de la biblioteca.

Descargo de responsabilidad: yo trabajo para Bit Miracle.

¿Qué tal iTextSharp ?

iText es una biblioteca de generación de PDF (entre otros) que también se transporta (y se mantiene sincronizada) a C #.

Para esto busqué ejecutar aplicaciones LaTeX para generar un pdf. Aunque esta opción probablemente sea mucho más complicada y pesada que las enumeradas aquí.

He usado Gnostice en el pasado y descubrí que son muy buenos.

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

Amyuni PDF Converter .Net también se puede usar para esto. Y también le permitirá modificar archivos existentes, aplicarles OCR y extraer texto, crear imágenes de ttwig (para la generación de miniaturas, por ejemplo), optimizar el PDF de salida para ver la web, etc.

Descargo de responsabilidad habitual se aplica.

Hay un nuevo proyecto, RazorPDF, que se puede utilizar desde ASP.NET MVC. Está disponible como paquete nuget (busca RazorPDF).

Aquí hay más información: http://nyveldt.com/blog/post/Introducing-RazorPDF

ACTUALIZACIÓN IMPORTANTE como @DenNukem señaló, depende de iTextsharp, se me olvidó editar la respuesta cuando descubrí eso (cuando traté de usarlo), así que si su proyecto no es de código abierto y elegible para su licencia AGPL, probablemente ser demasiado costoso de usar.