DevGang
Авторизоваться

Модуль 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-файл.

Структура файла до
Структура файла до
Структура файла после
Структура файла после
converted.pdf
converted.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-файл в текущем каталоге.

Созданный файл PDF
Созданный файл PDF
converted2.pdf
converted2.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
Созданный файл PDF
converted3.pdf
converted3.pdf

Заключение

Итак, это всё для этой статьи. Надеюсь, вам стали понятны три типа преобразования PDF с помощью модуля Python PDFKit. Он помогает нам конвертировать веб-страницы в PDF-файлы, обеспечивая автономный доступ с сохранением целостности макета и содержимого. Кроме того, он преобразует текстовый контент в PDF, облегчая обмен, печать и стандартизированное представление документов. Кроме того, он позволяет сохранять целые веб-сайты в формате PDF, создавая комплексные снимки для архивирования, справки и просмотра в автономном режиме.

Источник:

#HTML #Python
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться