Saltar al pie de página
USANDO IRONPRINT

Cómo imprimir PDF en VB .NET sin Adobe usando IronPrint

La impresión de documentos PDF en VB.NET requiere una biblioteca que gestione el renderizado, la comunicación con la impresora y la gestión de la configuración sin obligarte a instalar Adobe Reader u otras dependencias de terceros. IronPrint resuelve este problema con una API limpia que funciona en Windows, macOS, Linux y plataformas móviles. Esta guía le guía paso a paso —desde la instalación del paquete hasta la resolución de errores de impresión habituales— para que pueda añadir la impresión de PDF a su aplicación VB.NET de forma rápida y segura.

En España, la impresión programática de documentos fiscales es una necesidad operativa concreta: las facturas emitidas bajo el sistema VeriFactu de la AEAT deben incluir la leyenda visual obligatoria VERI*FACTU y el código QR de verificación impreso con las dimensiones correctas. IronPrint proporciona el control preciso de diseño que exigen estos requisitos normativos, siendo especialmente relevante para los sistemas ERP de mediana empresa que aún utilizan VB.NET.

Al final de este tutorial, sabrás cómo imprimir de forma silenciosa, mostrar el cuadro de diálogo de impresión de Windows, aplicar ajustes personalizados como los ppp y la orientación del papel, enumerar las impresoras disponibles y gestionar las excepciones de forma elegante.

¿Cómo se instala IronPrint en un proyecto VB.NET?

La instalación de IronPrint se realiza en cuestión de segundos a través del gestor de paquetes NuGet. Abre tu Consola del Administrador de Paquetes en Visual Studio y ejecuta:

Install-Package IronPrint

Tras la instalación, añada la importación del espacio de nombres al principio de cualquier archivo que necesite imprimir y, a continuación, aplique su clave de licencia antes de llamar a cualquier método de IronPrint:

Imports IronPrint

' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
Imports IronPrint

' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
Imports IronPrint

' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

IronPrint está destinado a .NET Framework 4.6.2 y versiones posteriores, así como a .NET 6, 7, 8, 9 y 10. Se suministra con motores de renderizado nativos para cada plataforma, por lo que no es necesario instalar Adobe Acrobat, Ghostscript ni ningún otro renderizador de PDF. El mismo paquete NuGet funciona para Windows Forms, WPF, aplicaciones de consola y proyectos ASP.NET escritos en VB.NET.

Los formatos de documento compatibles incluyen PDF, PNG, HTML, TIFF, GIF, JPEG y BMP. Puede explorar todas las capacidades en la referencia de la API de impresión unificada de IronPrint.

Para obtener más información sobre licencias y activación, consulte la documentación sobre claves de licencia de IronPrint.

¿Cómo se imprime un PDF de forma silenciosa en VB.NET?

La impresión silenciosa envía un documento directamente a una impresora sin mostrar ningún cuadro de diálogo. Este modo es esencial para flujos de trabajo automatizados, procesamiento de facturas por lotes, procesos de generación de informes y la impresión de documentos del lado del servidor en los que no hay ningún usuario presente.

Impresión de facturas VeriFactu en VB.NET

En el contexto español, la impresión silenciosa es especialmente relevante para los sistemas de facturación que deben emitir facturas conforme a VeriFactu (sistema de verificación de la AEAT). Cada factura impresa debe incluir el texto obligatorio VERI*FACTU y el código QR de verificación apuntando a https://sede.agenciatributaria.gob.es/. IronPrint permite enviar estos PDFs directamente a la impresora de tickets o al sistema de impresión departamental sin intervención del usuario, manteniendo el cumplimiento normativo en flujos de facturación automatizados.

Según la documentación de Microsoft sobre impresión GDI+ en .NET, la impresión .NET tradicional implica crear un objeto PrintDocument, conectarse a eventos PrintPage y manejar manualmente el diseño de la página. IronPrint elimina todo ese código repetitivo:

Imports IronPrint

Module SilentPrinting
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"

        ' Print to the system default printer
        Printer.Print(pdfPath)

        ' Print to a specific printer by name
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF"
        Printer.Print(pdfPath, settings)
    End Sub
End Module
Imports IronPrint

Module SilentPrinting
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"

        ' Print to the system default printer
        Printer.Print(pdfPath)

        ' Print to a specific printer by name
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF"
        Printer.Print(pdfPath, settings)
    End Sub
End Module
Imports IronPrint

Module SilentPrinting
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"

        ' Print to the system default printer
        Printer.Print(pdfPath)

        ' Print to a specific printer by name
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF"
        Printer.Print(pdfPath, settings)
    End Sub
End Module
$vbLabelText   $csharpLabel

El método Printer.Print se encarga internamente de toda la renderización del PDF. Cuando se llama a Printer.Print(pdfPath) sin un argumento PrintSettings, IronPrint selecciona automáticamente la impresora predeterminada del sistema. Cuando se suministra un objeto PrinterName con un valor PrinterName, se enruta el trabajo a ese dispositivo específico.

Para los escenarios por lotes, puede hacer un bucle sobre una lista de rutas de archivos y llamar a Printer.Print para cada uno de ellos. Dado que IronPrint no abre ningún subproceso de la interfaz de usuario para la impresión silenciosa, funciona correctamente en aplicaciones de consola, servicios de Windows y controladores de solicitudes de ASP.NET.

Para obtener más información sobre las opciones disponibles, consulta la documentación sobre la configuración de impresión de IronPrint.

¿Cómo se muestra el cuadro de diálogo de impresión antes de imprimir?

A veces es necesario permitir a los usuarios elegir una impresora, ajustar el rango de páginas o establecer el número de copias antes de iniciar un trabajo de impresión. IronPrint ofrece Printer.ShowPrintDialog exactamente para esta situación:

Imports IronPrint

Module DialogPrinting
    Sub Main()
        ' Display the standard Windows print dialog
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
Imports IronPrint

Module DialogPrinting
    Sub Main()
        ' Display the standard Windows print dialog
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
Imports IronPrint

Module DialogPrinting
    Sub Main()
        ' Display the standard Windows print dialog
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

Cuando se ejecuta este método, Windows muestra su cuadro de diálogo de impresión estándar. El usuario puede seleccionar cualquier impresora instalada, elegir un rango de páginas, seleccionar el número de copias y ajustar la configuración de impresión a doble cara. Después de que el usuario haga clic en Imprimir o Cancelar, el control vuelve a su código.

Este método se integra de forma natural en las aplicaciones de Windows Forms. Puede llamarla desde un controlador de clic de botón y confiar en que el cuadro de diálogo se comportará de manera coherente con otras aplicaciones de Windows que el usuario ya conoce.

VB .NET Imprime PDF Sin Abrir Adobe con IronPrint: Imagen 1 - Diálogo de impresión

La página de ejemplos del cuadro de diálogo de impresión muestra casos de uso adicionales, como la preselección de una impresora o el rellenado automático del número de copias antes de que se abra el cuadro de diálogo.

¿Cómo se personalizan los ajustes de impresión de PDF en VB.NET?

La clase PrintSettings le ofrece un control programático total sobre todos los aspectos de un trabajo de impresión. Puede configurar los ppp, el tamaño del papel, la orientación, el número de copias y la impresora de destino, todo ello antes de que el trabajo llegue a la cola de impresión:

Imports IronPrint

Module CustomPrintSettings
    Sub Main()
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }

        Printer.Print("document.pdf", settings)
    End Sub
End Module
Imports IronPrint

Module CustomPrintSettings
    Sub Main()
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }

        Printer.Print("document.pdf", settings)
    End Sub
End Module
Imports IronPrint

Module CustomPrintSettings
    Sub Main()
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }

        Printer.Print("document.pdf", settings)
    End Sub
End Module
$vbLabelText   $csharpLabel

Comprensión de las propiedades clave de PrintSettings

La propiedad Dpi controla la resolución de salida. Un valor de 300 es el estándar para documentos profesionales; 600 es adecuado para gráficos de alta calidad o planos de ingeniería. Los valores más bajos, como 150, son útiles para impresiones preliminares en las que la velocidad es más importante que la calidad.

NumberOfCopies indica a la impresora cuántas copias debe producir en un solo trabajo. Establecer este valor en 3 equivale a que un usuario pulse Ctrl+P e introduzca 3 en el campo de copias, pero tú lo controlas desde el código sin necesidad de interactuar con la interfaz de usuario.

PaperOrientation acepta PaperOrientation.Portrait o PaperOrientation.Landscape. Si se selecciona una orientación incorrecta para un PDF diseñado en modo horizontal, el contenido se recortará o se reducirá. Establecer esto explícitamente garantiza que el resultado final se ajuste al diseño del documento.

PaperSize acepta tamaños estándar como PaperSize.A4, PaperSize.Letter y PaperSize.Legal. En España y en toda la Unión Europea, el formato estándar para documentos fiscales y comerciales —incluidas las facturas Facturae y los documentos BOE (Boletín Oficial del Estado)— es el A4 (210 × 297 mm). Esto es importante cuando en su entorno de impresión se mezclan bandejas de papel con diferentes tamaños.

Configuración recomendada para documentos fiscales españoles

Para la impresión de documentos fiscales conforme a los requisitos de la AEAT —facturas ordinarias, albaranes con firma digital de la FNMT o extractos del BOE para referencia de cumplimiento— se recomiendan las siguientes configuraciones:

  • PaperSize.A4 — formato obligatorio en la Administración española
  • Dpi = 300 — resolución mínima para que el código QR de verificación VeriFactu sea legible por escáner
  • PaperOrientation.Portrait — orientación estándar para facturas y declaraciones de la AEAT

Para la impresión de tickets TicketBAI en el punto de venta del País Vasco (Bizkaia, Gipuzkoa, Araba), puede requerirse un formato de papel más estrecho compatible con impresoras de recibos.

Elegir el nombre correcto de la impresora

La cadena PrinterName debe coincidir exactamente con el nombre registrado de la impresora en Windows, incluidas las mayúsculas y el espaciado. Utilice Printer.GetPrinterNames() (en la sección siguiente) para recuperar la lista de nombres válidos en tiempo de ejecución.

Para opciones de personalización más avanzadas, visite la página de funciones avanzadas de personalización de impresión.

¿Cómo se enumeran y seleccionan impresoras mediante programación?

En entornos empresariales, las estaciones de trabajo suelen tener acceso a docenas de impresoras en red. IronPrint facilita la visualización de todas las impresoras disponibles y la selección de la adecuada en tiempo de ejecución:

Imports IronPrint

Module PrinterManagement
    Sub Main()
        ' Retrieve all available printers
        Dim printers As List(Of String) = Printer.GetPrinterNames()

        Console.WriteLine($"Found {printers.Count} printer(s):")
        For Each printerName As String In printers
            Console.WriteLine($"  - {printerName}")
        Next

        ' Print to the first available printer
        If printers.Count > 0 Then
            Dim settings As New PrintSettings()
            settings.PrinterName = printers(0)
            Printer.Print("document.pdf", settings)
        Else
            Console.WriteLine("No printers found. Check system configuration.")
        End If
    End Sub
End Module
Imports IronPrint

Module PrinterManagement
    Sub Main()
        ' Retrieve all available printers
        Dim printers As List(Of String) = Printer.GetPrinterNames()

        Console.WriteLine($"Found {printers.Count} printer(s):")
        For Each printerName As String In printers
            Console.WriteLine($"  - {printerName}")
        Next

        ' Print to the first available printer
        If printers.Count > 0 Then
            Dim settings As New PrintSettings()
            settings.PrinterName = printers(0)
            Printer.Print("document.pdf", settings)
        Else
            Console.WriteLine("No printers found. Check system configuration.")
        End If
    End Sub
End Module
Imports IronPrint

Module PrinterManagement
    Sub Main()
        ' Retrieve all available printers
        Dim printers As List(Of String) = Printer.GetPrinterNames()

        Console.WriteLine($"Found {printers.Count} printer(s):")
        For Each printerName As String In printers
            Console.WriteLine($"  - {printerName}")
        Next

        ' Print to the first available printer
        If printers.Count > 0 Then
            Dim settings As New PrintSettings()
            settings.PrinterName = printers(0)
            Printer.Print("document.pdf", settings)
        Else
            Console.WriteLine("No printers found. Check system configuration.")
        End If
    End Sub
End Module
$vbLabelText   $csharpLabel

Printer.GetPrinterNames() consulta el subsistema de impresión de Windows y devuelve todas las impresoras a las que el usuario actual puede acceder, incluyendo impresoras USB locales, impresoras de red, impresoras virtuales como Microsoft Print to PDF, y cualquier controlador de impresora instalado a través de software de terceros.

Envío de documentos a la impresora adecuada

En configuraciones con varias impresoras, es posible que desee enviar documentos grandes a una impresora departamental de alta velocidad y documentos pequeños a un dispositivo de escritorio cercano. Puede implementar esta lógica comprobando el número de páginas o el tamaño del archivo del documento y, a continuación, seleccionando el nombre de la impresora adecuada de la lista.

En entornos ERP españoles de mediana empresa que gestionan la impresión de documentos LOPDGDD (datos personales como nóminas o contratos), el enrutamiento programático hacia impresoras seguras —evitando que trabajos con datos personales queden en colas de impresión compartidas innecesariamente— contribuye al principio de minimización del tratamiento de datos personales establecido en la LOPDGDD.

VB .NET Imprime PDF Sin Abrir Adobe con IronPrint: Imagen 2 - Selección de impresora

Lea la documentación sobre las características de la información de la impresora para conocer las propiedades adicionales que puede consultar, como el estado de la impresora y la bandeja de papel predeterminada.

¿Cómo se gestionan los errores de impresión en VB.NET?

El código de impresión de producción debe gestionar los errores de forma elegante. Las rutas de los archivos pueden ser incorrectas, las impresoras pueden estar desconectadas o la cuenta de usuario puede carecer de permisos de impresión. Envolver las llamadas de impresión en un manejo estructurado de excepciones evita que las excepciones no controladas provoquen el bloqueo de la aplicación:

Imports IronPrint
Imports System.IO

Module ErrorHandling
    Sub Main()
        Dim filePath As String = "document.pdf"

        If Not File.Exists(filePath) Then
            Console.WriteLine("PDF file not found. Verify the path and try again.")
            Return
        End If

        Try
            Dim settings As New PrintSettings()
            settings.PrinterName = "Office Printer"
            Printer.Print(filePath, settings)
            Console.WriteLine("Print job sent successfully.")
        Catch ex As Exception
            Console.WriteLine($"Printing failed: {ex.Message}")
        End Try
    End Sub
End Module
Imports IronPrint
Imports System.IO

Module ErrorHandling
    Sub Main()
        Dim filePath As String = "document.pdf"

        If Not File.Exists(filePath) Then
            Console.WriteLine("PDF file not found. Verify the path and try again.")
            Return
        End If

        Try
            Dim settings As New PrintSettings()
            settings.PrinterName = "Office Printer"
            Printer.Print(filePath, settings)
            Console.WriteLine("Print job sent successfully.")
        Catch ex As Exception
            Console.WriteLine($"Printing failed: {ex.Message}")
        End Try
    End Sub
End Module
Imports IronPrint
Imports System.IO

Module ErrorHandling
    Sub Main()
        Dim filePath As String = "document.pdf"

        If Not File.Exists(filePath) Then
            Console.WriteLine("PDF file not found. Verify the path and try again.")
            Return
        End If

        Try
            Dim settings As New PrintSettings()
            settings.PrinterName = "Office Printer"
            Printer.Print(filePath, settings)
            Console.WriteLine("Print job sent successfully.")
        Catch ex As Exception
            Console.WriteLine($"Printing failed: {ex.Message}")
        End Try
    End Sub
End Module
$vbLabelText   $csharpLabel

Errores comunes y cómo solucionarlos

La siguiente tabla describe los errores de impresión más frecuentes y sus soluciones:

Errores comunes de impresión de PDF en VB.NET y sus soluciones
Error Causa Solución
No se ha encontrado la impresora El nombre de la impresora no coincide con la entrada del Registro de Windows Llama a Printer.GetPrinterNames() y utiliza el nombre exacto devuelto
Páginas en blanco impresas Ruta de archivo no válida o PDF dañado Utilice File.Exists para verificar la ruta; abra el PDF en un visor para comprobar su integridad
Mala calidad de impresión DPI ajustado a un valor demasiado bajo Establezca PrintSettings.Dpi en 300 o más; especialmente importante para que el QR de verificación AEAT sea legible
Acceso denegado Permisos de impresión insuficientes Ejecute la aplicación con una cuenta de usuario que tenga privilegios de impresión en la impresora de destino
Impresora desconectada Problema de conectividad de red o del dispositivo Comprueba el estado de la impresora en Dispositivos e impresoras de Windows; vuelve a intentarlo tras volver a conectarte

VB .NET Imprime PDF Sin Abrir Adobe con IronPrint: Imagen 3 - Ejemplo de error

Para obtener orientación adicional sobre la resolución de problemas, consulte la guía de solicitudes de ingeniería y resolución de problemas de IronPrint o póngase en contacto con el servicio de asistencia técnica de Iron Software.

¿Cómo se combinan la generación de PDF y la impresión en VB.NET?

Un flujo de trabajo habitual consiste en generar un PDF en tiempo de ejecución e imprimirlo inmediatamente; por ejemplo, crear una factura a partir de registros de la base de datos y enviarla a la impresora en un solo paso. IronPDF se encarga de la creación del PDF e IronPrint se encarga de la salida:

¿Por qué combinar IronPDF e IronPrint?

IronPDF convierte HTML, ASPX y documentos existentes en archivos PDF con el formato adecuado. Una vez que el PDF está en memoria o guardado en el disco, IronPrint lo envía a la impresora sin necesidad de Adobe Reader. Ambas bibliotecas comparten el mismo modelo de implementación basado en NuGet, por lo que basta con añadir dos paquetes y escribir código VB.NET sencillo para cubrir todo el proceso de generación e impresión.

Este enfoque resulta especialmente eficaz para:

  • Impresión de facturas VeriFactu y recibos TicketBAI: genera el PDF de factura con IronPDF —incluyendo la leyenda VERI*FACTU y el código QR de la AEAT— e imprímelo inmediatamente con IronPrint
  • Generación de informes CNMV y documentos fiscales AEAT: convertir los resultados de consultas de bases de datos en archivos PDF formateados en A4 e imprimirlos bajo demanda
  • Impresión de certificados FNMT: imprimir PDFs de certificados digitales emitidos por la Fábrica Nacional de Moneda y Timbre para su archivo físico
  • Impresión de extractos Facturae/FACe: generar copias en papel de facturas XML Facturae para referencia en licitaciones públicas B2G
  • Procesamiento de documentos por lotes: recorrer los registros, generar un PDF por registro e imprimir cada uno de forma secuencial

Para aprender a generar archivos PDF a partir de HTML en VB.NET, visite la documentación de IronPDF for .NET.

Según W3C's specification for print media queries, el control del diseño de impresión mediante reglas CSS @page es el enfoque estándar para los flujos de trabajo de HTML a impresión. IronPDF respeta estas reglas CSS durante la renderización, por lo que el PDF que genere tendrá los márgenes, los saltos de página y el tamaño correctos antes de que IronPrint lo envíe a la impresora.

Cumplimiento LOPDGDD en la gestión de colas de impresión

La LOPDGDD (Ley Orgánica de Protección de Datos y Garantía de los Derechos Digitales) exige el principio de minimización de datos. En la práctica, los documentos que contienen datos personales —nóminas, contratos laborales, historiales médicos— no deben permanecer más tiempo del necesario en las colas de impresión de Windows ni en los spoolers compartidos.

IronPrint, al gestionar programáticamente el envío de trabajos de impresión, permite:

  • Enrutar trabajos de impresión con datos personales directamente a impresoras dedicadas y seguras, evitando colas compartidas
  • Implementar impresión diferida con autenticación (Pull Printing): el documento solo se imprime cuando el usuario se identifica físicamente en la impresora
  • Evitar almacenamiento temporal innecesario en el spooler del sistema, reduciendo la exposición de datos personales a usuarios no autorizados

Este control programático es relevante para organizaciones que deben demostrar ante la AEPD (Agencia Española de Protección de Datos) que aplican medidas técnicas proporcionales en el tratamiento de datos personales en papel.

¿Cómo se imprimen varias páginas y se controlan los rangos de páginas?

Al imprimir documentos extensos, es posible que solo necesites imprimir páginas específicas; por ejemplo, las páginas 1 a 5 de un informe de 50 páginas. La clase PrintSettings de IronPrint admite la configuración de intervalos de páginas:

Configuración de rangos de páginas

Puede especificar una página inicial y una página final dentro del objeto PrintSettings. La numeración de las páginas comienza en el 1, siguiendo la convención que los usuarios esperan de los cuadros de diálogo de impresión estándar. Si se omite el rango de páginas, IronPrint imprime el documento completo.

La impresión de rangos de páginas resulta especialmente útil en entornos de gran volumen, donde reimprimir una sola página dañada es más rápido que reimprimir todo el documento. Combinado con NumberOfCopies, puede controlar con precisión cuántas copias de qué páginas llegan a la bandeja de salida.

Para obtener la lista completa de propiedades PrintSettings, incluido el intervalo de páginas, visite la Guía práctica de configuración de impresión de IronPrint.

Impresión en escala de grises

Algunas impresoras imprimen por defecto en color incluso cuando el documento no contiene contenido en color, lo que supone un desperdicio de tóner o tinta. Puede forzar la salida en escala de grises mediante PrintSettings. Esta configuración está disponible tanto en Windows como en macOS y funciona con todos los formatos de documento compatibles, no solo con PDF.

La descripción general de las características de IronPrint enumera todos los ajustes de impresión disponibles con ejemplos para cada plataforma.

¿Cuales son tus próximos pasos?

Ahora dispone de los componentes básicos para la impresión de PDF en aplicaciones VB.NET, con especial atención al contexto regulatorio español:

  • Impresión silenciosa -- Printer.Print(path) para flujos de trabajo automatizados de facturación VeriFactu/AEAT
  • Dialog printing -- Printer.ShowPrintDialog(path) para trabajos controlados por el usuario
  • Configuración personalizada -- PrintSettings para PPP, orientación A4, copias y selección de impresora
  • Enumeración de impresoras -- Printer.GetPrinterNames() para el enrutamiento dinámico de impresoras conforme a LOPDGDD
  • Gestión de errores: gestión estructurada de excepciones con validación de archivos previa a la ejecución
  • Flujos de trabajo combinados: IronPDF para la generación de facturas Facturae/VeriFactu, IronPrint para la salida

Para aprovechar estas capacidades, inicie su prueba gratuita de IronPrint y explore estos recursos adicionales:

Preguntas Frecuentes

¿Cómo imprimir facturas VeriFactu con la leyenda VERI*FACTU desde VB.NET?

Genere el PDF de la factura con IronPDF incluyendo la leyenda obligatoria VERI*FACTU y el código QR apuntando a https://sede.agenciatributaria.gob.es/. A continuación, use IronPrint con PrintSettings configurado en PaperSize.A4 y Dpi=300 para garantizar la legibilidad del QR de verificación de la AEAT.

¿Qué configuración de papel se recomienda para documentos fiscales españoles?

En España, el formato estándar para documentos fiscales y comerciales —facturas, declaraciones de la AEAT, documentos BOE— es A4 (210 × 297 mm) en orientación vertical (Portrait). Establezca PaperSize.A4 y PaperOrientation.Portrait, con Dpi=300 como mínimo para asegurar la legibilidad de los códigos QR de verificación fiscal.

¿Cómo cumplir con la LOPDGDD al imprimir documentos con datos personales desde VB.NET?

Use Printer.GetPrinterNames() para enrutar programáticamente documentos con datos personales (nóminas, contratos, datos de empleados) a impresoras seguras y dedicadas, evitando colas compartidas. La impresión silenciosa con IronPrint evita el almacenamiento innecesario en spoolers compartidos, contribuyendo al principio de minimización de datos de la LOPDGDD.

¿Qué es IronPrint?

IronPrint es una biblioteca que simplifica el proceso de impresión de documentos PDF en VB.NET al eliminar la necesidad de Adobe Reader y otras dependencias. Es especialmente útil en España para la impresión de documentos fiscales conformes con VeriFactu, Facturae, TicketBAI y los requisitos de la AEAT.

¿Cómo imprimir tickets TicketBAI en el País Vasco con VB.NET?

TicketBAI (Bizkaia, Gipuzkoa, Araba) requiere la impresión de recibos con código QR XAdES. Genere el PDF del ticket con el QR obligatorio y use IronPrint para enviarlo a la impresora de tickets del punto de venta. Puede necesitar configurar un formato de papel personalizado compatible con impresoras de recibos térmicos.

¿Puedo realizar impresiones silenciosas de facturas con IronPrint?

Sí, IronPrint admite la impresión silenciosa mediante Printer.Print(), lo que permite imprimir facturas VeriFactu, albaranes y documentos fiscales sin mostrar cuadros de diálogo, ideal para flujos de facturación automatizados en ERPs con VB.NET.

¿Cómo combinar IronPDF e IronPrint para generar e imprimir facturas Facturae?

Use IronPDF para generar el PDF de la factura desde una plantilla HTML (incluyendo la leyenda VERI*FACTU y el QR de la AEAT), y a continuación use IronPrint para enviarlo directamente a la impresora. Ambas bibliotecas comparten el mismo modelo NuGet y se integran sin configuración adicional.

¿IronPrint requiere alguna dependencia externa?

No, IronPrint es una solución libre de dependencias: no necesita software adicional como Adobe Reader para imprimir archivos PDF en VB.NET, lo que facilita el despliegue en entornos ERP corporativos españoles.

¿Puedo personalizar la configuración de impresión con IronPrint?

Sí, IronPrint ofrece opciones para personalizar la configuración de impresión a través de la clase PrintSettings, permitiendo controlar DPI (300 para documentos fiscales), la orientación del papel (A4 Portrait para facturas AEAT), las copias y la selección de impresora.

¿IronPrint es adecuado para el desarrollo multiplataforma?

Sí, IronPrint es adecuado para el desarrollo multiplataforma, ya que admite la impresión en Windows, macOS, Linux y plataformas móviles, aunque para sistemas ERP españoles con VB.NET el entorno Windows es el más habitual.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame