Чтобы сохранить веб-страницу в формате PDF с помощью JavaScript, вы можете использовать различные методы и библиотеки. Вот несколько вариантов:
-
Использование встроенной функции
window.print():window.print();Этот метод запускает диалоговое окно печати, позволяющее пользователю выбрать место назначения в виде PDF-файла. Однако этот метод основан на том, что пользователь вручную выбирает параметр PDF в диалоговом окне печати.
-
Использование сторонней библиотеки, например jsPDF:
jsPDF – это популярная библиотека JavaScript, которая позволяет программно создавать PDF-файлы. Вы можете создавать PDF-документы, добавлять в них текст, изображения и другие элементы и сохранять их непосредственно на устройстве пользователя. Подробную документацию и примеры можно найти на сайте jsPDF: https://github.com/MrRio/jsPDFВот пример использования jsPDF для сохранения веб-страницы в формате PDF:
// Include the jsPDF library <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.4.0/jspdf.umd.min.js"></script> // Create a new jsPDF instance var doc = new jsPDF(); // Add content to the PDF (e.g., the HTML content of a specific element) var element = document.getElementById('elementId'); doc.fromHTML(element, 15, 15); // Save the PDF doc.save('filename.pdf'); -
Использование библиотеки Puppeteer.
Puppeteer — это библиотека Node.js, предоставляющая высокоуровневый API для управления автономными браузерами Chrome или Chromium. Он позволяет автоматизировать такие задачи, как создание PDF-файлов с веб-страниц. Дополнительную информацию и примеры можно найти в документации Puppeteer: https://github.com/puppeteer/puppeteerВот пример использования Puppeteer для сохранения веб-страницы в формате PDF:
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://www.example.com'); await page.pdf({ path: 'filename.pdf', format: 'A4' }); await browser.close(); })();