Creación de archivos pdf en tiempo de ejecución en c # [cerrado]


83

¿Hay una biblioteca de pdf adjunta / que se pueda adjuntar a .NET 3.5 que permite la creación de archivos pdf en tiempo de ejecución, es decir, abrir un nuevo archivo pdf, escribir en él 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 usar la opción de salida de PDF de Reporting Services.

Respuestas:


39

iTextSharp http://itextsharp.sourceforge.net/

Complejo pero completo.


2
¡Vaya, publiqué y en 60 segundos hay otras tres recomendaciones para lo mismo! Supongo que es popular.
ine

4
Muy popular: es un poco tedioso trabajar con IMO, pero puede obtener buenos resultados. Y es gratis.
Knobloch

3
nuevo enlace a la fuente: sourceforge.net/projects/itextsharp
travis

4
¡No es gratis, chicos! ¿Dónde dice eso?
Fandango68

2
La versión AGPL es gratuita. Pero ya no es la mejor respuesta.
aggsol

116

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

Otras implementaciones de PDF de código abierto en .NET nativo incluyen

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


28
+1 para hacer referencia al cambio de licencia. Tengo que aprender una nueva biblioteca PDF ahora ...
Mayo

1
¿Algún lugar donde aún se pueda descargar la versión 4.1.6 de iTextSharp? ¿Hay algún problema por el que no se deba descargar esta versión anterior?
Rasto

1
@drasto Encontré esto a través de Google: github.com/itextsharper/iTextSharp-4.1.6 Además, parece que puede obtener versiones anteriores a través de NuGet. No he confirmado esto.
darkphoenix

32

Eche un vistazo a PDFSharp

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


6
PDFsharp se emite con licencia MIT . (Muy permisivo)
bretddog

PDFSharp (MigraDoc) fue muy fácil de usar. Tuve el resultado que deseaba en una o dos horas.
Chuck Savage

Chicos, ¿PDFSharp les permite crear un formulario PDF, de modo que los usuarios puedan ingresar datos directamente en los campos del formulario y enviarlos por correo electrónico? No pude ver nada como esto en su página de características, pero decía que el soporte de AcroForm era limitado. ¿Qué es AcroForm? ¿La misma cosa?
Fandango68

¿Este proyecto no tiene soporte hoy en día?
Johnny_D

4

Bueno, gratis y no gratis, uso el componente WebSuperGoo ABCpdf .NET , ¡eso me encanta!

no es gratis porque debe pagarlo.

gratis porque incluso si tienes que pagar, tienen una versión de prueba y puedes solicitar una licencia gratis si no te importa eso, en tu sitio muestra "Este sitio usa el componente WebSuperGoo ABCpdf .NET" con un enlace a su sitio web.

Hice eso 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 de esto es que puedes hacer todo lo que puedas con esto, crear formularios PDF y llenarlos dinámicamente y enviarlos al usuario por correo o hacer que lo descarguen, crear un pdf desde cero, convertir HTML páginas en PDF, etc., etc., por favor lea la documentación, es un componente maravilloso.


2

Recomiendo encarecidamente: iTextSharp


11
Esta es una sugerencia duplicada
epotter

3
@epotter Lo siento por la respuesta tardía, pero el hecho es que casi todos los que sugirieron iTextSharp lo hicieron en un plazo de un minuto
Przemek

3
Sí, pero ya no es la mejor opción debido al costo. Ya no es gratis
Fandango68


1

La biblioteca Docotic.Pdf se puede utilizar 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, completar campos de formulario, etc.)

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

Descargo de responsabilidad: trabajo para Bit Miracle.


0

¿Qué hay de iTextSharp ?

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



0

Para esto, busqué ejecutar aplicaciones LaTeX para generar un pdf. Aunque es probable que esta opción sea mucho más complicada y resistente que las que se enumeran aquí.



0

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

Se aplica el descargo de responsabilidad habitual.


0

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

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

ACTUALIZACIÓN IMPORTANTE como señaló @DenNukem, depende de iTextsharp, olvidé editar la respuesta cuando me enteré (cuando intenté usarlo), por lo que si su proyecto no es de código abierto y es elegible para su licencia AGPL, probablemente lo hará ser demasiado caro de usar.


2
Advertencia: depende de iTextsharp, que es un componente AGPL y requiere una licencia comercial no divulgada para usarse sin restricciones AGPL.
DenNukem

2
Sí, y pedí una cotización de iTextsharp para un servidor, casi $ 2000, así que esto no es posible :(
Goran Obradovic

1
Gracias por averiguar el precio, me ahorra un poco de tiempo allí. Me estoy inclinando hacia PDFJet ahora, ya que su versión gratuita parece satisfacer mis necesidades por ahora.
DenNukem

RazorPDF funcionará con la versión LGPL de iTextSharp, solo use NuGet-package nuget.org/packages/iTextSharp-LGPL
Toft
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.