Índice
Instalar com Pip
pip install Spire.PDF
Links Relacionados
PDF (Portable Document Format) é um formato de arquivo popular amplamente utilizado para gerar documentos jurídicos, contratos, relatórios, faturas, manuais, e-books e muito mais. Fornece um formato versátil e confiável para compartilhar, armazenar e apresentar documentos eletrônicos de maneira consistente, independente de qualquer software, hardware ou sistema operacional.
Dadas estas vantagens, a geração automatizada de documentos PDF está se tornando cada vez mais importante em vários campos. Para automatizar o processo de criação de PDF em Python, você pode escrever scripts que geram PDFs com base em requisitos específicos ou dados de entrada. Este artigo fornecerá exemplos detalhados para demonstrar como usar Python para criar arquivos PDF programaticamente.
- Como criar PDF usando Python
- Python para criar arquivos PDF do zero
- Python para gerar PDF a partir de arquivo de texto
- Python para criar um PDF com várias colunas
Biblioteca geradora de PDF em Python
Para gerar PDF usando Python, precisaremos usar a biblioteca Spire.PDF for Python. É uma biblioteca Python poderosa que fornece recursos de geração e processamento de PDF. Com ele, podemos usar python para criar PDFs do zero e adicionar vários elementos PDF às páginas PDF.
Para instalar a biblioteca do gerador de PDF Python, basta usar o seguinte comando pip para instalar a partir do PyPI:
pip install Spire.PDF
Conhecimento prévio
Antes de começar, vamos aprender algumas informações básicas sobre como criar um arquivo PDF usando a biblioteca Spire.PDF for Python.
Página PDF: Uma página no Spire.PDF for Python é representada pela classe PdfPageBase, que consiste em uma área do cliente e margens ao redor. A área de conteúdo serve para os usuários escreverem vários conteúdos, e as margens geralmente são bordas em branco.
Sistema de Coordenadas: Conforme mostrado na figura abaixo, a origem do sistema de coordenadas na página está localizada no canto superior esquerdo da área do cliente, com o eixo x estendendo-se horizontalmente para a direita e o eixo y estendendo-se verticalmente para baixo. Todos os elementos adicionados à área do cliente são baseados nas coordenadas X e Y especificadas.
Classes e métodos: a tabela a seguir lista algumas das principais classes e métodos usados para criar PDFs em Python.
Membro | Descrição |
Classe PDFDocument | Representa um modelo de documento PDF. |
Classe PDFPageBase | Representa uma página em um documento PDF. |
Classe PDFSolidBrush | Representa um pincel que preenche qualquer objeto com uma cor sólida. |
Classe PDFTrueTypeFont | Representa uma fonte True Type. |
Classe PDFStringFormat | Representa informações de formato de texto, como alinhamento, espaçamento de caracteres e recuo. |
Classe PDFTextWidget | Representa a área de texto com capacidade de abranger várias páginas. |
Classe PDFTextLayout | Representa as informações de layout de texto. |
Método PdfDocument.Pages.Add() | Adiciona uma página a um documento PDF. |
Método PdfPageBase.Canvas.DrawString() | Desenha uma string no local especificado em uma página com fonte e objetos de pincel especificados. |
Método PdfPageBase.Canvas.DrawImage() | Desenha uma imagem em um local especificado em uma página. |
Método PdfTextWidget.Draw() | Desenha o widget de texto no local especificado em uma página. |
Método PdfDocument.SaveToFile() | Salva o documento em um arquivo PDF. |
Como criar PDF usando Python
A seguir estão as etapas principais para criar arquivos PDF em Python:
- Instale Spire.PDF for Python.
- Importe módulos.
- Crie um documento PDF por meio da classe PdfDocument.
- Adicione uma página ao PDF usando o método PdfDocument.Pages.Add() e retorne um objeto da classe PdfPageBase.
- Crie o pincel e a fonte do PDF desejados.
- Desenhe uma string de texto ou widget de texto em uma coordenada especificada na página PDF usando o método PdfPageBase.Canvas.DrawString() ou PdfTextWidget.Draw().
- Salve o documento PDF usando o método PdfDocument.SaveToFile().
Python para criar arquivos PDF do zero
O exemplo de código a seguir demonstra como usar Python para criar um arquivo PDF e inserir texto e imagens. Com o Spire.PDF for Python, você também pode inserir outros elementos PDF, como listas, hiperlinks, formulários e carimbos.
- Python
from spire.pdf.common import * from spire.pdf import * # Create a pdf document pdf = PdfDocument() # Add a page to the PDF page = pdf.Pages.Add() # Specify title text and paragraph content titleText = "Spire.PDF for Python" paraText = "Spire.PDF for Python is a professional PDF development component that enables developers to create, read, edit, convert, and save PDF files in Python programs without depending on any external applications or libraries. This Python PDF class library provides developers with various functions to create PDF files from scratch or process existing PDF documents completely through Python programs." # Create solid brushes titleBrush = PdfSolidBrush(PdfRGBColor(Color.get_Blue())) paraBrush = PdfSolidBrush(PdfRGBColor(Color.get_Black())) # Create fonts titleFont = PdfFont(PdfFontFamily.Helvetica, 14.0, PdfFontStyle.Bold) paraFont = PdfTrueTypeFont("Arial", 12.0, PdfFontStyle.Regular, True) # Set the text alignment textAlignment = PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle) # Draw title on the page page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 40.0, textAlignment) # Create a PdfTextWidget object to hold the paragraph content textWidget = PdfTextWidget(paraText, paraFont, paraBrush) # Create a rectangle where the paragraph content will be placed rect = RectangleF(PointF(0.0, 50.0), page.Canvas.ClientSize) # Set the text layout textLayout = PdfTextLayout() textLayout.Layout = PdfLayoutType.Paginate # Draw the widget on the page textWidget.Draw(page, rect, textLayout) # Load an image image = PdfImage.FromFile("Python.png") # Draw the image at a specified location on the page page.Canvas.DrawImage(image, 12.0, 130.0) #Save the PDF document pdf.SaveToFile("CreatePDF.pdf") pdf.Close()
Python para gerar PDF a partir de arquivo de texto
O exemplo de código a seguir mostra o processo de leitura de texto de um arquivo .txt e desenhá-lo em um local especificado em uma página PDF.
- Python
from spire.pdf.common import * from spire.pdf import * def ReadFromTxt(fname: str) -> str: with open(fname, 'r') as f: text = f.read() return text # Create a pdf document pdf = PdfDocument() # Add a page to the PDF page = pdf.Pages.Add(PdfPageSize.A4(), PdfMargins(20.0, 20.0)) # Create a PdfFont and brush font = PdfFont(PdfFontFamily.TimesRoman, 12.0) brush = PdfBrushes.get_Black() # Get content from a .txt file text = ReadFromTxt("text.txt") # Create a PdfTextWidget object to hold the text content textWidget = PdfTextWidget(text, font, brush) # Create a rectangle where the text content will be placed rect = RectangleF(PointF(0.0, 50.0), page.Canvas.ClientSize) # Set the text layout textLayout = PdfTextLayout() textLayout.Layout = PdfLayoutType.Paginate # Draw the widget on the page textWidget.Draw(page, rect, textLayout) # Save the generated PDF file pdf.SaveToFile("GeneratePdfFromText.pdf", FileFormat.PDF) pdf.Close()
Python para criar um PDF com várias colunas
PDFs com várias colunas são comumente usados em revistas ou jornais. O exemplo de código a seguir mostra o processo de criação de um PDF de duas colunas desenhando texto em duas áreas retangulares separadas em uma página PDF.
- Python
from spire.pdf.common import * from spire.pdf import * # Creates a PDF document pdf = PdfDocument() # Add a page to the PDF page = pdf.Pages.Add() # Define paragraph text s1 = "Databases allow access to various services which, in turn, allow you to access your accounts and perform transactions all across the internet. " + "For example, your bank's login page will ping a database to figure out if you've entered the right password and username. " + "Your favorite online shop pings your credit card's database to pull down the funds needed to buy that item you've been eyeing." s2 = "Databases make research and data analysis much easier because they are highly structured storage areas of data and information. " + "This means businesses and organizations can easily analyze databases once they know how a database is structured. " + "Common structures and common database querying languages (e.g., SQL) make database analysis easy and efficient." # Get width and height of page pageWidth = page.GetClientSize().Width pageHeight = page.GetClientSize().Height # Create a PDF font and brush font = PdfFont(PdfFontFamily.TimesRoman, 12.0) brush = PdfBrushes.get_Black() # Set the text alignment format = PdfStringFormat(PdfTextAlignment.Left) # Draws text at a specified location on the page page.Canvas.DrawString(s1, font, brush, RectangleF(10.0, 20.0, pageWidth / 2 - 8, pageHeight), format) page.Canvas.DrawString(s2, font, brush, RectangleF(pageWidth / 2 + 8, 20.0, pageWidth / 2 - 8, pageHeight), format) # Save the PDF document pdf.SaveToFile("CreateTwoColumnPDF.pdf") pdf.Close()
Licença gratuita para criação de PDF em Python
Você pode obtenha uma licença temporária gratuita do Spire.PDF for Python para gerar documentos PDF sem marcas d'água e limitações.
Conclusão
Esta postagem do blog forneceu um guia passo a passo sobre como criar arquivos PDF com base no sistema de coordenadas definido na biblioteca Spire.PDF for Python. Nos exemplos de código, você pode aprender sobre o processo e métodos de inserção de texto, imagens em PDFs e conversão de arquivos TXT em PDFs. Se quiser explorar outros recursos de processamento e conversão de PDF da biblioteca Python PDF, você pode verificar sua documentação online.
Para qualquer problema durante o uso, entre em contato com nossa equipe de suporte técnico por e-mail ou fórum.