Оглавление
Установить с помощью Пипа
pip install Spire.PDF
Ссылки по теме
PDF (Portable Document Format) — популярный формат файлов, широко используемый для создания юридических документов, контрактов, отчетов, счетов-фактур, руководств, электронных книг и многого другого. Он обеспечивает универсальный и надежный формат для единообразного обмена, хранения и представления электронных документов, независимо от какого-либо программного обеспечения, оборудования или операционных систем.
Учитывая эти преимущества, автоматизированное создание PDF-документов становится все более важным в различных областях. Чтобы автоматизировать процесс создания PDF-файлов на Python, вы можете написать сценарии, генерирующие PDF-файлы на основе определенных требований или входных данных. В этой статье будут приведены подробные примеры, демонстрирующие, как использовать Python для создания PDF-файлов программно.
- Как создать PDF с помощью Python
- Python для создания PDF-файлов с нуля
- Python для создания PDF из текстового файла
- Python для создания многоколоночного PDF-файла
Библиотека PDF-генератора Python
Чтобы создать PDF-файл с помощью Python, нам понадобится библиотека Spire.PDF for Python. Это мощная библиотека Python, обеспечивающая возможности создания и обработки PDF-файлов. С его помощью мы можем использовать Python для создания PDF-файлов с нуля и добавления различных элементов PDF на страницы PDF.
Чтобы установить библиотеку генератора PDF Python, просто используйте следующую команду pip для установки из PyPI:
pip install Spire.PDF
Жизненный опыт
Прежде чем мы начнем, давайте изучим некоторые сведения о создании PDF-файла с использованием библиотеки Spire.PDF for Python.
Страница PDF: страница в Spire.PDF for Python представлена классом PdfPageBase, который состоит из клиентской области и полей вокруг. Область содержимого предназначена для того, чтобы пользователи могли писать различное содержимое, а поля обычно представляют собой пустые края.
Система координат: Как показано на рисунке ниже, начало системы координат на странице расположено в верхнем левом углу клиентской области, при этом ось X проходит горизонтально вправо, а ось Y — вертикально вниз. Все элементы, добавляемые в клиентскую область, основаны на указанных координатах X и Y.
Классы и методы: В следующей таблице перечислены некоторые основные классы и методы, используемые для создания PDF-файлов в Python.
Член | Описание |
Класс PDFDocument | Представляет модель документа PDF. |
Класс PDFPageBase | Представляет страницу в PDF-документе. |
Класс PdfSolidBrush | Представляет кисть, которая закрашивает любой объект сплошным цветом. |
Класс PdfTrueTypeFont | Представляет шрифт истинного типа. |
Класс PdfStringFormat | Представляет информацию о текстовом формате, такую как выравнивание, интервал между символами и отступ. |
Класс PdfTextWidget | Представляет текстовую область, способную занимать несколько страниц. |
Класс PdfTextLayout | Представляет информацию о макете текста. |
Метод PDFDocument.Pages.Add() | Добавляет страницу в PDF-документ. |
Метод PdfPageBase.Canvas.DrawString() | Рисует строку в указанном месте на странице с указанными объектами шрифта и кисти. |
Метод PdfPageBase.Canvas.DrawImage() | Рисует изображение в указанном месте на странице. |
Метод PdfTextWidget.Draw() | Рисует текстовый виджет в указанном месте на странице. |
Метод PDFDocument.SaveToFile() | Сохраняет документ в PDF-файл. |
Как создать PDF с помощью Python
Ниже приведены основные шаги по созданию PDF-файлов в Python:
- Установите Spire.PDF for Python.
- Импортируйте модули.
- Создайте PDF-документ с помощью класса PdfDocument.
- Добавьте страницу в PDF с помощью метода PdfDocument.Pages.Add() и верните объект класса PdfPageBase.
- Создайте нужную кисть и шрифт PDF.
- Нарисуйте текстовую строку или текстовый виджет по заданной координате на странице PDF с помощью метода PdfPageBase.Canvas.DrawString() или PdfTextWidget.Draw().
- Сохраните PDF-документ с помощью метода PdfDocument.SaveToFile().
Python для создания PDF-файлов с нуля
В следующем примере кода показано, как использовать Python для создания файла PDF и вставки текста и изображений. С помощью Spire.PDF for Python вы также можете вставлять другие элементы PDF, например списки, гиперссылки, формы и штампы.
- 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 для создания PDF из текстового файла
В следующем примере кода показан процесс чтения текста из файла .txt и его рисования в указанном месте на странице 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 для создания многоколоночного PDF-файла
Многоколоночный PDF-файл обычно используется в журналах и газетах. В следующем примере кода показан процесс создания PDF-файла с двумя столбцами путем рисования текста в двух отдельных прямоугольных областях на странице 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()
Бесплатная лицензия для создания PDF-файлов на Python
Ты можешь получить бесплатную временную лицензию Spire.PDF for Python для создания PDF-документов без водяных знаков и ограничений.
Заключение
В этой записи блога представлено пошаговое руководство по созданию файлов PDF на основе системы координат, определенной в библиотеке Spire.PDF for Python. В примерах кода вы можете узнать о процессе и методах вставки текста, изображений в PDF-файлы и преобразования файлов TXT в PDF-файлы. Если вы хотите изучить другие функции обработки и преобразования PDF-файлов библиотеки Python PDF, вы можете ознакомиться с ее онлайн-документация.
По любым вопросам во время использования обращайтесь в нашу службу технической поддержки по электронной почте или на форуме.