Imprimir arquivo PDF em Python | Imprimir PDF para impressora | Imprimindo PDFs

Imprimir um documento PDF é um requisito comum no desenvolvimento de aplicativos. Esteja você gerando relatórios, faturas ou qualquer outro tipo de documento, imprimir um arquivo PDF diretamente do código para uma impressora pode ser um recurso valioso. Nesta postagem do blog, aprenderemos como imprimir um arquivo PDF em uma impressora em Python.

Este artigo cobre os seguintes tópicos:

Biblioteca Python para imprimir PDF na impressora

Para imprimir um arquivo PDF em Python programaticamente, usaremos a biblioteca Aspose.PDF for Python via .NET. Com instalação e uso simples, oferece uma solução eficiente para enviar arquivos PDF para a impressora usando código Python. Aspose.PDF for Python permite que os desenvolvedores gerem, manipulem e convertam documentos PDF em seus aplicativos Python.

Para começar a imprimir um documento PDF em Python, primeiro precisamos instalar as bibliotecas necessárias. Por favor, baixe o pacote ou instale a API do PyPI usando o seguinte comando pip no console:

> pip install aspose-pdf

Podemos imprimir facilmente um arquivo PDF programaticamente em Python seguindo as etapas abaixo:

  1. Crie uma instância da classe PdfViewer.
  2. Carregue o documento PDF de entrada usando o método bindpdf().
  3. Depois disso, chame o método printdocument() para imprimir o arquivo PDF.
  4. Finalmente, feche o visualizador de PDF usando o método close().

O exemplo de código a seguir mostra como imprimir um arquivo PDF em Python.

# Este exemplo de código demonstra como imprimir um arquivo PDF em Python.
import aspose.pdf as ap

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

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

# Imprimir um documento PDF
viewer.print_document();

# Fechar arquivo PDF
viewer.close();

Também podemos imprimir em lote arquivos PDF de uma pasta em Python seguindo as etapas abaixo:

  1. Carregue arquivos PDF do caminho da pasta fornecido.
  2. Percorra todos os arquivos PDF.
  3. Crie uma instância da classe PdfViewer.
  4. Vincule cada arquivo PDF de entrada, um por um, usando o método bindpdf().
  5. Depois disso, chame o método printdocument() para imprimir o arquivo PDF.
  6. Finalmente, feche o visualizador de PDF usando o método close().

O exemplo de código a seguir mostra como imprimir vários arquivos PDF em Python.

# Este exemplo de código demonstra como imprimir vários arquivos PDF de uma vez em Python.
import os
import aspose.pdf as ap

# Caminho do diretório contendo arquivos PDF para imprimir
path = "D:\\Files\\"

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

# Leia todos os arquivos e imprima
for file in files:
    # Criar objeto PDFViewer
    viewer = ap.facades.PdfViewer();
    
    # Abrir arquivo PDF de entrada
    viewer.bind_pdf(path + file);
    
    # Imprimir um documento PDF
    viewer.print_document();
    
    # Fechar arquivo PDF
    viewer.close();

Em certos casos, pode ser necessário imprimir um intervalo específico de páginas de um documento PDF. Para este propósito, precisamos especificar os números das páginas inicial e final. Podemos imprimir o intervalo de páginas seguindo as etapas abaixo:

  1. Crie uma instância da classe PdfViewer.
  2. Carregue o documento PDF de entrada usando o método bindpdf().
  3. Opcionalmente, especifique vários atributos do visualizador, como redimensionamento automático, rotação automática, etc.
  4. Crie uma instância da classe PageSettings.
  5. Inicialize o objeto da classe PrinterSettings.
  6. Especifique as propriedades printrange, frompage e topage.
  7. Depois disso, chame o método viewer.printdocumentwithsettings() para imprimir o documento usando as configurações de impressora e página.
  8. Finalmente, feche o visualizador de PDF usando o método close().

O exemplo de código a seguir mostra como imprimir páginas específicas de um documento PDF em Python.

# Este exemplo de código demonstra como imprimir um intervalo de páginas de um arquivo PDF em Python.
import aspose.pdf as ap

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

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

# Definir atributos para impressão
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False

# Crie objetos para configurações de impressora e página e PrintDocument
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();

# Definir nome da impressora
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 configurações de impressora e página
viewer.print_document_with_settings(pgs, ps);

# Fechar arquivo PDF
viewer.close();

Especifique o tamanho da página para imprimir um PDF

Da mesma forma, também podemos especificar o tamanho da página ao imprimir o arquivo PDF seguindo as etapas mencionadas anteriormente. Entretanto, só precisamos especificar o tamanho do papel usando a classe PaperSize e as margens usando a classe Margins na etapa 6.

O exemplo de código a seguir mostra como imprimir o documento PDF em um tamanho de página e margens específicos usando Python.

# Este exemplo de código demonstra como imprimir um intervalo de páginas de um arquivo PDF em Python.
import aspose.pdf as ap

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

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

# Definir atributos para impressão
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False

# Crie objetos para configurações de impressora e página e PrintDocument
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();

# Definir nome da impressora
ps.printer_name = "Microsoft Print to PDF";

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

# Defina PageSize (se necessário)
pgs.paper_size = ap.printing.PaperSize("A4", 827, 1169);

# Defina PageMargins (se necessário)
pgs.margins = ap.devices.Margins(0, 0, 0, 0);

# Imprimir documento usando configurações de impressora e página
viewer.print_document_with_settings(pgs, ps);

# Fechar arquivo PDF
viewer.close();

Podemos imprimir um arquivo PDF seguro ou protegido por senha seguindo as etapas abaixo:

  1. Carregue o PDF protegido com uma senha usando a classe Document.
  2. Crie uma instância da classe PdfViewer.
  3. Vincule o documento PDF usando o método bindpdf().
  4. Depois disso, chame o método printdocument() para imprimir o arquivo PDF.
  5. Finalmente, feche o visualizador de PDF usando o método close().

O exemplo de código a seguir mostra como imprimir um arquivo PDF seguro em Python.

# Carregue o documento PDF seguro ao especificar a senha do usuário ou proprietário
document = ap.Document("Password.pdf" , "userORowner");

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

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

# Imprimir documento PDF
viewer.print_document();

# Fechar arquivo PDF
viewer.close();

Podemos imprimir um documento PDF em escala de cinza seguindo as etapas abaixo:

  1. Carregue o documento PDF de entrada usando a classe Document.
  2. Inicialize o objeto da classe RgbToDeviceGrayConversionStrategy.
  3. Percorra todas as páginas e converta para GrayScale usando o método strategy.convert().
  4. Crie uma instância da classe PdfViewer.
  5. Vincule o documento PDF usando o método bindpdf().
  6. Depois disso, chame o método printdocument() para imprimir o arquivo PDF.
  7. Finalmente, feche o visualizador de PDF usando o método close().

O exemplo de código a seguir mostra como converter um PDF em escala de cinza e depois imprimi-lo usando Python.

# Este exemplo de código demonstra como imprimir um arquivo PDF em escala de cinza em Python.
import aspose.pdf as ap

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

# Iniciar estratégia de conversão de RGB para Device Gry
strategy = ap.RgbToDeviceGrayConversionStrategy();

# Percorra todas as páginas
for page in document.pages:
    # Converta a imagem do espaço de cores RGB em espaço de cores GrayScale
    strategy.convert(page);

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

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

# Imprimir documento PDF
viewer.print_document();

# Fechar arquivo PDF
viewer.close();

Obtenha uma licença gratuita

Você pode obter uma licença temporária para usar a biblioteca sem limitações de avaliação.

Imprimir PDF – Recursos Gratuitos

Além de imprimir PDFs para impressora em Python, aprenda mais sobre como criar, manipular e converter documentos PDF e explore vários outros recursos da biblioteca usando os recursos abaixo:

Conclusão

Neste artigo, aprendemos como imprimir um arquivo PDF em Python. Ao aproveitar o Aspose.PDF for Python, você pode enviar facilmente seus arquivos PDF para uma impressora a partir do seu código Python. Esse poderoso recurso permite que os usuários gerem relatórios e gerenciem fluxos de trabalho de documentos de maneira integrada em diferentes aplicativos. Seguindo as etapas descritas nesta postagem do blog, você pode automatizar a tarefa de impressão de PDFs. Em caso de qualquer ambigüidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também