Создание PDF-файла из данных HTML-страницы с помощью html2pdf.js

dall e 2024 08 04 21.41.48 a detailed image illustrating the creation of a pdf file from an html page using the html2pdf.js library. the image shows a computer screen with a web HTML

В этой статье мы рассмотрим, как создать PDF-файл из данных HTML-страницы с использованием клиентской библиотеки html2pdf.js. Это может быть полезно для сохранения электронных билетов, счетов, инвойсов и других документов.

Что нам понадобится:

  • Данные в формате HTML
  • Библиотека html2pdf.js
  • Небольшой JavaScript-код

Шаг 1: Подготовка HTML-контента

HTML-страница может содержать любой контент, который нужно сохранить в PDF-формате. Например:

<div id="invoice">
<!-- Ваши данные для сохранения в PDF -->
</div>

Шаг 2: Подключение библиотеки html2pdf.js

Вы можете скачать библиотеку и разместить ее на своем веб-сервере:

<script src="html2pdf.bundle.js"></script>

Или воспользоваться CDN-сервисом, например, cdnjs:

<script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.9.3/html2pdf.bundle.js"></script>

Шаг 3: Создание кнопки для генерации PDF

Добавьте кнопку на страницу, по нажатию на которую будет генерироваться PDF-файл:

<button onclick="generatePDF()">Сохранить в PDF</button>

Шаг 4: Написание функции для генерации PDF

Теперь напишем функцию на ванильном JavaScript, которая будет отвечать за генерацию PDF:

<script>
function generatePDF() {
const element = document.getElementById('invoice');
html2pdf()
.from(element)
.save();
}
</script>

Дополнительные возможности

Настройка параметров PDF

Вы можете настроить параметры создаваемого PDF-файла, такие как формат страницы, ориентация и маркеры. Например:

<script>
function generatePDF() {
const element = document.getElementById('invoice');
const options = {
margin: 1,
filename: 'document.pdf',
image: { type: 'jpeg', quality: 0.98 },
html2canvas: { scale: 2 },
jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' }
};
html2pdf()
.from(element)
.set(options)
.save();
}
</script>

Добавление стилей

Если вам нужно добавить стили к PDF-документу, вы можете использовать CSS. Например:

<style>
#invoice {
font-family: Arial, sans-serif;
padding: 20px;
margin: 10px;
border: 1px solid #ccc;
}
</style>

Генерация PDF автоматически

Вы также можете настроить автоматическую генерацию PDF-файла при загрузке страницы:

<script>
window.onload = function() {
generatePDF();
};
</script>

Заключение

Использование библиотеки html2pdf.js позволяет легко и быстро создавать PDF-файлы из данных HTML-страницы. Это удобный способ сохранять важную информацию в формате, который легко распечатать или отправить по электронной почте.

Оцените статью