Imprimir archivo PDF en Python | Imprimir PDF a la impresora | Imprimir archivos PDF

Imprimir un documento PDF es un requisito común en el desarrollo de aplicaciones. Ya sea que esté generando informes, facturas o cualquier otro tipo de documento, imprimir un archivo PDF directamente desde el código a una impresora puede ser una característica valiosa. En esta publicación de blog, aprenderemos cómo imprimir un archivo PDF en una impresora en Python.

Este artículo cubre los siguientes temas:

Biblioteca Python para imprimir PDF en una impresora

Para imprimir un archivo PDF en Python mediante programación, usaremos la biblioteca Aspose.PDF for Python vía .NET. Con una instalación y uso sencillos, proporciona una solución eficiente para enviar archivos PDF a la impresora utilizando código Python. Aspose.PDF for Python permite a los desarrolladores generar, manipular y convertir documentos PDF en sus aplicaciones Python.

Para comenzar a imprimir un documento PDF en Python, primero debemos instalar las bibliotecas necesarias. Por favor descargue el paquete o instale la API desde PyPI usando el siguiente comando pip en la consola:

> pip install aspose-pdf

Podemos imprimir fácilmente un archivo PDF mediante programación en Python siguiendo los pasos a continuación:

  1. Cree una instancia de la clase PdfViewer.
  2. Cargue el documento PDF de entrada utilizando el método bindpdf().
  3. Después de eso, llame al método printdocument() para imprimir el archivo PDF.
  4. Finalmente, cierre el visor de PDF usando el método close().

El siguiente ejemplo de código muestra cómo imprimir un archivo PDF en Python.

# Este ejemplo de código demuestra cómo imprimir un archivo PDF en Python.
import aspose.pdf as ap

# Crear objeto PDFViewer
viewer = ap.facades.PdfViewer();

# Abrir archivo PDF de entrada
viewer.bind_pdf("Document.pdf");

# Imprimir un documento PDF
viewer.print_document();

# Cerrar archivo PDF
viewer.close();

También podemos imprimir por lotes archivos PDF desde una carpeta en Python siguiendo los pasos a continuación:

  1. Cargue archivos PDF desde la ruta de carpeta proporcionada.
  2. Recorre todos los archivos PDF.
  3. Cree una instancia de la clase PdfViewer.
  4. Vincule cada archivo PDF de entrada uno por uno utilizando el método bindpdf().
  5. Después de eso, llame al método printdocument() para imprimir el archivo PDF.
  6. Finalmente, cierre el visor de PDF usando el método close().

El siguiente ejemplo de código muestra cómo imprimir varios archivos PDF en Python.

# Este ejemplo de código demuestra cómo imprimir varios archivos PDF a la vez en Python.
import os
import aspose.pdf as ap

# Ruta del directorio que contiene archivos PDF para imprimir
path = "D:\\Files\\"

# Obtener archivos PDF
files = [f for f in os.listdir(path) if f.endswith(".pdf")]

# Leer todos los archivos e imprimir
for file in files:
    # Crear objeto PDFViewer
    viewer = ap.facades.PdfViewer();
    
    # Abrir archivo PDF de entrada
    viewer.bind_pdf(path + file);
    
    # Imprimir un documento PDF
    viewer.print_document();
    
    # Cerrar archivo PDF
    viewer.close();

En determinados casos, es posible que necesitemos imprimir un rango específico de páginas de un documento PDF. Para ello, necesitamos especificar los números de página de origen y destino. Podemos imprimir el rango de páginas siguiendo los pasos a continuación:

  1. Cree una instancia de la clase PdfViewer.
  2. Cargue el documento PDF de entrada utilizando el método bindpdf().
  3. Opcionalmente, especifique varios atributos del visor, como tamaño automático, rotación automática, etc.
  4. Cree una instancia de la clase PageSettings.
  5. Inicialice el objeto de clase PrinterSettings.
  6. Especifique las propiedades printrange, frompage y topage.
  7. Después de eso, llame al método Viewer.printdocumentwithsettings() para imprimir el documento usando la impresora y la configuración de página.
  8. Finalmente, cierre el visor de PDF usando el método close().

El siguiente ejemplo de código muestra cómo imprimir páginas específicas de un documento PDF en Python.

# Este ejemplo de código demuestra cómo imprimir un rango de páginas desde un archivo PDF en Python.
import aspose.pdf as ap

# Crear objeto PDFViewer
viewer = ap.facades.PdfViewer();

# Abrir archivo PDF de entrada
viewer.bind_pdf("Document.pdf");

# Establecer atributos para imprimir
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False

# Crear objetos para la configuración de impresora y página y PrintDocument
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();

# Establecer nombre de impresora
ps.printer_name = "Microsoft Print to PDF";

ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;

# Imprimir documento usando la impresora y la configuración de página
viewer.print_document_with_settings(pgs, ps);

# Cerrar archivo PDF
viewer.close();

Especificar el tamaño de página para imprimir un PDF

De manera similar, también podemos especificar el tamaño de la página mientras imprimimos el archivo PDF siguiendo los pasos mencionados anteriormente. Sin embargo, sólo necesitamos especificar el tamaño del papel usando la clase PaperSize y los márgenes usando la clase Margins en el paso 6.

El siguiente ejemplo de código muestra cómo imprimir el documento PDF en un tamaño de página y márgenes específicos usando Python.

# Este ejemplo de código demuestra cómo imprimir un rango de páginas desde un archivo PDF en Python.
import aspose.pdf as ap

# Crear objeto PDFViewer
viewer = ap.facades.PdfViewer();

# Abrir archivo PDF de entrada
viewer.bind_pdf("Document.pdf");

# Establecer atributos para imprimir
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False

# Crear objetos para la configuración de impresora y página y PrintDocument
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();

# Establecer nombre de impresora
ps.printer_name = "Microsoft Print to PDF";

ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;

# Establecer tamaño de página (si es necesario)
pgs.paper_size = ap.printing.PaperSize("A4", 827, 1169);

# Establecer márgenes de página (si es necesario)
pgs.margins = ap.devices.Margins(0, 0, 0, 0);

# Imprimir documento usando la impresora y la configuración de página
viewer.print_document_with_settings(pgs, ps);

# Cerrar archivo PDF
viewer.close();

Podemos imprimir un archivo PDF seguro o protegido con contraseña siguiendo los pasos a continuación:

  1. Cargue el PDF seguro con una contraseña usando la clase Document.
  2. Cree una instancia de la clase PdfViewer.
  3. Vincule el documento PDF utilizando el método bindpdf().
  4. Después de eso, llame al método printdocument() para imprimir el archivo PDF.
  5. Finalmente, cierre el visor de PDF usando el método close().

El siguiente ejemplo de código muestra cómo imprimir un archivo PDF seguro en Python.

# Cargue un documento PDF seguro mientras especifica la contraseña de usuario o propietario
document = ap.Document("Password.pdf" , "userORowner");

# Crear objeto PDFViewer
viewer = ap.facades.PdfViewer();

# Abrir archivo PDF de entrada
viewer.bind_pdf(document);

# Imprimir documento PDF
viewer.print_document();

# Cerrar archivo PDF
viewer.close();

Podemos imprimir un documento PDF en escala de grises siguiendo los pasos a continuación:

  1. Cargue el documento PDF de entrada usando la clase Document.
  2. Inicialice el objeto de clase RgbToDeviceGrayConversionStrategy.
  3. Recorra todas las páginas y conviértalas a escala de grises utilizando el método Strategy.convert().
  4. Cree una instancia de la clase PdfViewer.
  5. Vincule el documento PDF utilizando el método bindpdf().
  6. Después de eso, llame al método printdocument() para imprimir el archivo PDF.
  7. Finalmente, cierre el visor de PDF usando el método close().

El siguiente ejemplo de código muestra cómo convertir un PDF a escala de grises y luego imprimirlo usando Python.

# Este ejemplo de código demuestra cómo imprimir un archivo PDF en escala de grises en Python.
import aspose.pdf as ap

# Cargue el documento PDF de entrada
document = ap.Document("D:\\Files\\Output.pdf");

# Iniciar la estrategia de conversión de RGB a Device Gry
strategy = ap.RgbToDeviceGrayConversionStrategy();

# Recorre todas las páginas.
for page in document.pages:
    # Convierta la imagen del espacio de color RGB al espacio de color Escala de grises
    strategy.convert(page);

# Crear objeto PDFViewer
viewer = ap.facades.PdfViewer();

# Abrir archivo PDF de entrada
viewer.bind_pdf(document);

# Imprimir documento PDF
viewer.print_document();

# Cerrar archivo PDF
viewer.close();

Obtenga una licencia gratuita

Puede obtener una licencia temporal para utilizar la biblioteca sin limitaciones de evaluación.

Imprimir PDF – Recursos gratuitos

Además de imprimir archivos PDF en una impresora en Python, obtenga más información sobre cómo crear, manipular y convertir documentos PDF y explore otras características de la biblioteca utilizando los recursos a continuación:

Conclusión

En este artículo, hemos aprendido cómo imprimir un archivo PDF en Python. Al aprovechar Aspose.PDF for Python, puede enviar fácilmente sus archivos PDF a una impresora desde su código Python. Esta poderosa característica permite a los usuarios generar informes y administrar flujos de trabajo de documentos sin problemas en diferentes aplicaciones. Si sigue los pasos descritos en esta publicación de blog, puede automatizar la tarea de imprimir archivos PDF. En caso de cualquier ambigüedad, no dude en contactarnos en nuestro foro de soporte gratuito.

Ver también