← Inicio
Comparación honesta

¿Por qué Majorsilence.Pdf?

No faltan librerías PDF para .NET. Aquí tienes una mirada clara sobre dónde encaja Majorsilence.Pdf, en qué se destaca y cuándo deberías elegir otra opción en su lugar.


Comparación de librerías

La siguiente tabla cubre las librerías PDF para .NET más utilizadas. Toda la información se basa en documentación disponible públicamente a mediados de 2026.

Librería Licencia Dependencias Tamaño del paquete Modelo de API Compatibilidad con .NET
Majorsilence.Pdf MIT / Apache / BSD Cero ~75 KB Canvas / fluida NS2.0, .NET 8 & 10
iText 7 AGPL o comercial Varias referencias NuGet ~6 MB Árbol de documento/elementos .NET Standard 2.0+
QuestPDF Comunidad / comercial SkiaSharp (nativa) ~10 MB (incl. nativo) Motor de diseño fluido .NET 6+
PdfSharp MIT Ninguna (núcleo) ~400 KB Dibujo estilo GDI .NET 6+ (v0.1.x NS2.0)
Syncfusion PDF Comercial / comunidad Suite Syncfusion ~4 MB Árbol de documento/elementos .NET Standard 2.0+
Puppeteer / wkhtmltopdf MIT (Puppeteer) Requiere binario nativo 50–150 MB (navegador) Renderizado HTML → PDF Cualquiera (vía CLI/puente)

El nivel "Community" de QuestPDF es gratuito para organizaciones con ingresos anuales inferiores a $1 M USD; por encima de esa cifra se requiere una licencia paga. iText 7 requiere una licencia comercial para software de código cerrado. Syncfusion ofrece una licencia comunitaria gratuita para desarrolladores individuales y equipos pequeños.


Cuándo elegir Majorsilence.Pdf

Buen ajuste
  • Cero dependencias en tiempo de ejecución es un requisito estricto: contenedores, AWS Lambda, compilación AOT o auditorías de seguridad rigurosas
  • Necesitas licenciamiento MIT, Apache-2.0 o BSD-3-Clause sin complicaciones de AGPL
  • Quieres una base de código pequeña y auditable, sin binarios nativos que gestionar
  • Tu modelo mental es el dibujo por coordenadas de canvas: colocar texto en (x, y), dibujar líneas, incrustar imágenes
  • Estás construyendo facturas, informes, certificados, recibos o exportaciones de datos donde tú controlas el diseño
  • La compatibilidad con trimming o la compilación AOT importa (arranques en frío sin servidor, .NET embebido)
  • Quieres distribuir a Windows, Linux y macOS sin preocuparte por librerías nativas de renderizado de fuentes
Ajuste menos ideal
  • Necesitas leer, editar o combinar PDFs complejos existentes con anotaciones, AcroForms o XFA
  • Un organismo regulatorio exige certificación de conformidad PDF/A o PDF/UA
  • Prefieres un modelo de diseño de flujo (párrafos que se ajustan automáticamente, tablas que se paginan) en lugar de coordenadas explícitas
  • Necesitas conformación de escritura árabe de nivel de producción o renderizado de texto BiDi complejo
  • Tu contenido ya vive en plantillas HTML/CSS y el renderizado de navegador con precisión de píxel es esencial
  • Necesitas firmas digitales avanzadas con sello de tiempo (PKCS#12 con TSA) o validación a largo plazo (PAdES LTV)

Cuándo elegir otra opción

Estas son recomendaciones honestas. Elige la herramienta adecuada para tus restricciones.

iText 7
Si necesitas el conjunto de funciones PDF más completo disponible en .NET (manipulación de AcroForm, firmas digitales PAdES/LTV, creación de PDF/A y PDF/UA, redacción, o lectura y modificación de PDFs complejos existentes) y puedes usar la licencia AGPL o adquirir una comercial.
QuestPDF
Si prefieres pensar en términos de filas, columnas y contenido fluido (un motor de diseño en lugar de un lienzo de dibujo), y tus ingresos están por debajo del umbral del nivel comunitario. El modelo de documento fluido de QuestPDF es excelente para documentos ricos y con mucho contenido donde la paginación automática importa más que la colocación precisa a nivel de píxel.
PdfSharp
Si quieres otra librería MIT de cero dependencias con una API de dibujo estilo GDI y estás apuntando a .NET 6+. PdfSharp es una alternativa sólida con una comunidad más grande y una historia más larga. Ambas librerías tienen fortalezas similares; evalúa el estilo de la API para ver cuál se ajusta mejor a tu equipo.
Puppeteer / Playwright / wkhtmltopdf
Si el contenido de tu documento ya está redactado como HTML + CSS —por ejemplo, una factura con plantilla renderizada por una vista Razor— y necesitas un renderizado con precisión de píxel del motor del navegador (fuentes web, CSS grid, imágenes de fondo). La contrapartida es una dependencia de un binario nativo grande y tiempos de generación más lentos.
Syncfusion / DevExpress / Telerik
Si ya tienes licencia para una de estas suites de componentes y quieres un único proveedor para todas tus necesidades de interfaz de usuario y generación de documentos. Las librerías PDF incluidas en estas suites son completas y cuentan con buen soporte dentro de sus ecosistemas.

Filosofía de diseño

La mayoría de las librerías PDF surgieron cuando .NET significaba Windows, NuGet era joven y "cero dependencias" no era un objetivo de diseño. Con el tiempo acumularon funciones, código nativo y complejidad de licencias.

Majorsilence.Pdf parte de restricciones diferentes:

Probada en producción. Majorsilence.Pdf es el motor de renderizado PDF que impulsa Majorsilence Reporting. No es un proyecto paralelo: es la librería que se ejecuta cuando Reporting genera documentos reales.

Haz simple lo aburrido.

Generar un PDF (una factura, un certificado, una exportación de datos) debería tomar un puñado de líneas, no una página de código repetitivo. La superficie de la librería es intencionalmente pequeña: un documento, páginas, un lienzo. Colocas cosas. Guardas. Listo.

Cero debe significar cero.

No "cero en tiempo de ejecución si instalas el paquete de la plataforma" ni "cero a menos que uses fuentes". Un solo dotnet add package y nada más. Sin árbol transitivo que auditar, sin binarios nativos que incluir en tu imagen de contenedor, sin riesgo de AGPL que revisar con el equipo legal.

Código administrado puro.

Toda la librería es IL. Se recorta (trim) limpiamente, compila con antelación (AOT), y funciona igual en Windows, Linux, macOS, ARM y x64, sin selección condicional de activos nativos ni detección de funciones en tiempo de ejecución.

Triple licencia. Elige la que prefieras entre MIT, Apache-2.0 o BSD-3-Clause según tu proyecto. No hay nivel AGPL, ni división entre comunidad y comercial, ni umbral de ingresos que cambie tus obligaciones.