2.23.1.1. Утилиты wkhtmltopdf и wkhtmltoimage

wkhtmltopdf — набор из двух утилит командной строки для рендеринга HTML-файлов или веб-страниц с использованием движка WebKit:

  • Утилита wkhtmltopdf выполняет рендеринг в PDF и существует в двух вариантах:
    • Версия 0.10:
      /usr/local/bin/wkhtmltopdf-amd64
    • Версия 0.12:
      /usr/local/bin/wkhtmltopdf
  • Утилита wkhtmltoimage выполняет рендеринг в файл изображения:
    /usr/local/bin/wkhtmltoimage

Утилиты доступны на хостинге по умолчанию. В примерах ниже для утилиты wkhtmltopdf используется версия 0.12. Чтобы воспользоваться версией 0.10, просто замените в команде название утилиты с wkhtmltopdf на wkhtmltopdf-amd64.

Просмотр краткой документации:

  • wkhtmltopdf:
    wkhtmltopdf -h
  • wkhtmltoimage:
    wkhtmltoimage -h

Просмотр подробной документации:

  • wkhtmltopdf:
    wkhtmltopdf -H
  • wkhtmltoimage:
    wkhtmltoimage -H

Формат запуска:

  • wkhtmltopdf:
    wkhtmltopdf <URL или путь к исходному HTML-файлу> <путь и имя выходного PDF-файла>
  • wkhtmltoimage:
    wkhtmltoimage <URL или путь к исходному HTML-файлу> <путь и имя выходного файла изображения>

Простой пример преобразования веб-страницы:

  • В PDF-документ:
    wkhtmltopdf http://google.com google.pdf

    Или:

    /usr/local/bin/wkhtmltopdf http://google.com google.pdf
  • В файл изображения:
    wkhtmltoimage http://google.com google.png

    Или:

    /usr/local/bin/wkhtmltoimage http://google.com google.png

Простой пример преобразования HTML-документа:

  • В PDF-документ:
    wkhtmltopdf /home/example/путь/к/файлу/document.html document.pdf

    Или:

    /usr/local/bin/wkhtmltopdf /home/example/путь/к/файлу/document.html document.pdf

    Где example это название хостинг-аккаунта.

  • В файл изображения:
    wkhtmltoimage /home/example/путь/к/файлу/document.html document.png

    Или:

    /usr/local/bin/wkhtmltoimage /home/example/путь/к/файлу/document.html document.png

    Где example это название хостинг-аккаунта.

При формировании PDF-документа можно добавлять хедер и футер из отдельных HTML-файлов:

wkhtmltopdf --header-html <путь к HTML-хедеру> --footer-html <путь к HTML-футеру> <путь к исходному HTML-файлу> <путь и имя выходного PDF-файла>

При необходимости для PDF-документов можно задавать отступы:

wkhtmltopdf --margin-top 25mm --margin-bottom 25 mm --margin-left 15mm --margin-right 15mm --header-html <путь к шапке HTML> --footer-html <путь к подвалу HTML> <путь к исходному файлу HTML> <путь и имя выходного файла PDF>

Примеры других полезных опций для wkhtmltopdf:

  • –encoding windows-1251 — явное указание кодировки исходного HTML-файла.
  • –page-size A4 — формат страницы выходного PDF-файла.
  • –orientation Landscape — ориентация страницы выходного PDF-файла.

Использовать утилиты из PHP можно с помощью функции exec.

  • hosting/configuration/libs-and-utils/wkhtmltopdf.txt
  • Последнее изменение: 2020/07/10 16:10
  • karlov