–print-to-pdf устарело в Chrome, что мне использовать? [закрыто]

Вопрос или проблема

Мне нужен простой способ создать PDF из веб-страницы. Это работает на PHP и создает большой PDF. Он работает локально, я мог бы использовать любой другой язык, но выбрал этот.

В любом случае, мне кажется, что командная строка –print-to-pdf устарела в Chrome, я не знаю, что использовать, чтобы легко преобразовать веб-сайт в PDF… На PHP или на любом другом скрипте, который я мог бы запустить из PHP.

.

Ответ или решение

С переходом к более современным стандартам веб-разработки и обновлениям браузеров, использование командной строки --print-to-pdf в Google Chrome действительно стало менее распространенным. Однако для создания PDF-документов из веб-страниц, особенно в контексте PHP, существует несколько альтернативных решений. Давайте рассмотрим их более подробно.

1. Использование библиотеки Dompdf

Dompdf — это PHP-библиотека для преобразования HTML и CSS в PDF. Она простая в использовании и не требует дополнительных внешних зависимостей в виде браузера. Вот несколько шагов, как ее установить и использовать:

Установка

Вы можете установить Dompdf через Composer:

composer require dompdf/dompdf

Пример использования

require 'vendor/autoload.php';

use Dompdf\Dompdf;

// Инициализация Dompdf
$dompdf = new Dompdf();

// Загрузка HTML контента
$html = '<h1>Пример страницы PDF</h1><p>Это текст, который будет в PDF.</p>';
$dompdf->loadHtml($html);

// Установка размера и ориентации страницы
$dompdf->setPaper('A4', 'portrait');

// Рендеринг HTML в PDF
$dompdf->render();

// Вывод PDF в браузер
$dompdf->stream("example.pdf", array("Attachment" => false));

2. Использование wkhtmltopdf

wkhtmltopdf — это утилита командной строки для преобразования HTML в PDF с использованием движка WebKit. Она позволяет производить более сложные преобразования с поддержкой JavaScript и CSS. Для интеграции с PHP можно использовать команду exec().

Установка

Сначала нужно установить wkhtmltopdf. На Linux это можно сделать через пакетный менеджер:

sudo apt-get install wkhtmltopdf

Пример использования

$url = 'http://example.com'; // URL страницы для преобразования
$pdfFilePath = 'output.pdf'; // Путь для сохранения PDF

// Генерация PDF
exec("wkhtmltopdf $url $pdfFilePath");

// Или можно загрузить PDF в браузер
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="' . $pdfFilePath . '"');
readfile($pdfFilePath);

3. Использование API для генерации PDF

Существуют множество облачных сервисов, предоставляющих API для создания PDF-документов, таких как:

  • PDFShift
  • Html2Pdf

Это решение позволяет вам использовать готовые API для конвертации и предоставляет множество возможностей для настройки документа.

Пример использования PDFShift API

  1. Зарегистрируйтесь на PDFShift и получите API-ключ.
  2. Используйте API в вашем PHP-коде.
$apiKey = "ваш_ключ_api";
$url = "http://example.com";
$pdf = file_get_contents("https://api.pdfshift.io/v3/convert/html?access_key=$apiKey&url=$url");

// Сохранение PDF
file_put_contents("output.pdf", $pdf);

Заключение

С учетом вышеизложенного, вы можете выбрать наиболее подходящее решение для ваших нужд. Библиотеки, такие как Dompdf, предлагают простоту и легкость интеграции, тогда как wkhtmltopdf и API-сервисы обеспечивают более мощные функции. Выбор зависит от специфики вашей задачи и необходимой гибкости в конвертации HTML в PDF.

Оцените материал
Добавить комментарий

Капча загружается...