Модуль Python PDFKit: Преобразование HTML, URL и текста в PDF-файлы
Знаете ли вы, что генерировать PDF-файлы с помощью Python так легко и просто? Это возможно благодаря модулю PDFkit в Python. Мы знаем, что документы в формате PDF выглядят одинаково на любом устройстве, что делает его широко используемым и надежным форматом для обмена информацией. Следовательно, конвертация в PDF крайне необходима. Итак, в этой статье мы рассмотрим, как можно конвертировать веб-страницы, URL-адреса и тексты в формат PDF.
Установка и настройка PDFKit в Python
Прежде чем использовать модуль, нам необходимо установить его на наши системы. Для этого можно воспользоваться следующей командой:
pip install pdfkit
Вместе с модулем pdfkit нам нужно установить wkhtmltopdf, бесплатный инструмент, который конвертирует HTML в PDF и различные форматы изображений, используя движок рендеринга Qt WebKit.
Чтобы установить wkhtmltopdf в Windows:
- Нажмите здесь, чтобы загрузить
- Установите переменную PATH, чтобы включить папку с бинарными файлами в переменные окружения, и не забудьте добавить путь "wkhtmltopdf", чтобы избежать ошибок.
Для установки wkhtmltopdf в Ubuntu выполните указанную команду:
sudo apt-get install wkhtmltopdf
Чтобы установить wkhtmltopdf в macOS, выполните указанную команду:
brew install homebrew/cask/wkhtmltopdf
Преобразование в PDF с помощью PDFKit в Python
Теперь, когда мы закончили с настройками, давайте посмотрим, какие типы преобразований PDF возможны:
Давайте обсудим каждую из конверсий по отдельности с примерами кода.
1. Преобразование HTML в PDF
Мы используем .from_file
для преобразования файла (HTML) в формат PDF. Преобразование HTML в PDF упрощает и обеспечивает легкий доступ, делая ваш документ доступным для просмотра на любой платформе.
Пример кода:
//index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Demo</title>
</head>
<body>
<h1>Python Programming Language</h1>
<p>Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically typed and garbage-collected. It supports multiple programming paradigms, including structured, object-oriented and functional programming.</p>
</body>
</html>
import pdfkit
config = pdfkit.configuration(wkhtmltopdf='C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe')
pdfkit.from_file('index.html', 'converted.pdf', configuration=config)
Работа:
- Код импортирует библиотеку pdfkit для преобразования PDF в Python.
- Он задает конфигурацию для wkhtmltopdf.exe, указывая его путь с двойными обратными косыми чертами.
- Он преобразует содержимое файла
index.html
в PDF с именемconverted.pdf
, используя заданные настройки.
Выходные данные:
После запуска программы в том же каталоге будет создан новый PDF-файл.
2. Преобразование URL в PDF
Мы используем .from_url
для преобразования URL-адреса или веб-страницы в PDF. Преобразование URL-адреса в PDF помогает сохранить веб-контент для автономного использования, обеспечивает последовательное форматирование и упрощает обмен информацией.
Пример кода:
import pdfkit
config = pdfkit.configuration(wkhtmltopdf='C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe')
pdfkit.from_url('https://www.visitgreece.gr/islands/cyclades/santorini/', 'converted2.pdf', configuration=config)
Работа:
- Код использует библиотеку pdfkit для работы с PDF-файлами на Python.
- Он устанавливает путь к исполняемому файлу
wkhtmltopdf.exe
в конфигурации pdfkit. - Он преобразует содержимое указанного URL (https://www.visitgreece.gr/islands/cyclades/santorini/) в PDF с именем
converted2.pdf
, используя указанную конфигурацию.
Выходные данные:
При запуске программа создает новый PDF-файл в текущем каталоге.
3. Преобразование текста в PDF
Мы используем .from_string
для преобразования строкового (текстового) формата в PDF. Преобразование текста в PDF обеспечивает легкий обмен и последовательный просмотр для универсальной доступности.
Пример кода:
import pdfkit
config = pdfkit.configuration(wkhtmltopdf='C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe')
pdfkit.from_file('Hello and welcome to CodeForGeek', 'converted3.pdf', configuration=config)
Работа:
- Код использует библиотеку pdfkit для выполнения операций с PDF на языке Python.
- Он задает путь к исполняемому файлу
wkhtmltopdf.exe
в конфигурации pdfkit. - Он преобразует содержимое "Hello and welcome to CodeForGeek" в PDF с именем
converted3.pdf
, используя указанную конфигурацию.
Выходные данные:
После запуска программы в том же каталоге создается новый PDF-файл.
Заключение
Итак, это всё для этой статьи. Надеюсь, вам стали понятны три типа преобразования PDF с помощью модуля Python PDFKit. Он помогает нам конвертировать веб-страницы в PDF-файлы, обеспечивая автономный доступ с сохранением целостности макета и содержимого. Кроме того, он преобразует текстовый контент в PDF, облегчая обмен, печать и стандартизированное представление документов. Кроме того, он позволяет сохранять целые веб-сайты в формате PDF, создавая комплексные снимки для архивирования, справки и просмотра в автономном режиме.