В этой статье мы рассмотрим, как использовать Python для создания и работы с PDF-файлами. PDF (Portable Document Format) является одним из самых популярных форматов для обмена документами, поэтому знание того, как работать с ними с помощью Python, может быть очень полезным.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Библиотека PyPDF2
Для работы с PDF-файлами в Python существует множество библиотек, но одной из самых популярных и широко используемых является PyPDF2. Чтобы установить ее, выполните следующую команду:
pip install PyPDF2
Чтение PDF-файлов
Для чтения содержимого PDF-файла с помощью PyPDF2 используйте следующий код:
import PyPDF2 pdf_file = open('example.pdf', 'rb') # Открываем файл в режиме чтения бинарных данных pdf_reader = PyPDF2.PdfFileReader(pdf_file) # Создаем объект PdfFileReader num_pages = pdf_reader.numPages # Получаем количество страниц в файле for page in range(num_pages): pdf_page = pdf_reader.getPage(page) # Получаем страницу print(pdf_page.extractText()) # Выводим текст страницы pdf_file.close() # Закрываем файл
Создание PDF-файлов
PyPDF2 также позволяет создавать PDF-файлы. Для этого используйте следующий код:
from PyPDF2 import PdfFileWriter, PdfFileReader pdf_writer = PdfFileWriter() # Создаем объект PdfFileWriter # Создаем текстовую страницу pdf_page = pdf_writer.addBlankPage(612, 792) # Добавляем пустую страницу с заданными размерами pdf_page.setFont("Helvetica", 12) # Устанавливаем шрифт и размер pdf_page.drawString(100, 700, "Пример текста на странице") # Добавляем текст на страницу # Сохраняем созданный PDF-файл with open('new_example.pdf', 'wb') as pdf_file: pdf_writer.write(pdf_file)
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Библиотека ReportLab
Еще одной популярной библиотекой для работы с PDF-файлами в Python является ReportLab. Она предоставляет больше возможностей для создания и редактирования PDF-файлов. Чтобы установить ее, выполните следующую команду:
pip install reportlab
Создание PDF-файлов
Создание PDF-файла с помощью ReportLab:
from reportlab.pdfgen import canvas pdf_file = canvas.Canvas("reportlab_example.pdf") # Создаем объект Canvas pdf_file.setFont("Helvetica", 12) # Устанавливаем шрифт и размер pdf_file.drawString(100, 700, "Пример текста на странице") # Добавляем текст на страницу pdf_file.save() # Сохраняем созданный PDF-файл
Рисование графики
ReportLab также позволяет рисовать графические объекты на PDF-страницах:
from reportlab.pdfgen import canvas pdf_file = canvas.Canvas("reportlab_graphics_example.pdf") # Создаем объект Canvas # Рисуем прямоугольник pdf_file.setFillColorRGB(1, 0, 0) # Задаем цвет заливки pdf_file.rect(100, 600, 200, 100, fill=1) # Рисуем прямоугольник с заданными координатами и размерами # Рисуем эллипс pdf_file.setFillColorRGB(0, 1, 0) # Задаем цвет заливки pdf_file.ellipse(100, 400, 300, 500, fill=1) # Рисуем эллипс с заданными координатами и размерами pdf_file.save() # Сохраняем созданный PDF-файл
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Теперь вы знаете основы работы с PDF-файлами в Python с использованием библиотек PyPDF2 и ReportLab. Эти библиотеки предоставляют множество функций для создания, редактирования и анализа PDF-файлов, которые могут быть полезными для ваших проектов. Удачного изучения и применения этих инструментов! 😉
Добавить комментарий