Как сделать кнопку Преобразовать в PDF - PullRequest
0 голосов
/ 02 июня 2018

Я пытался заставить кнопку преобразовать мою HTML-страницу в PDF и загрузить ее, но я не могу заставить ее работать.Кто-нибудь знает, как я мог это сделать?

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Вариант 1. Метод print () печатает содержимое текущего окна.

    <button onclick="window.print()">Download page</button>

Вариант 2. Использование некоторого метода на стороне сервера для преобразования html в dpf, как в ответе Martijn.

Вариант 3: использовать библиотеку jsPDF для обработки на стороне клиента.Проверьте https://rawgit.com/MrRio/jsPDF/master/, у них там много примеров.

    function download() {
      var doc = new jsPDF();

      // All units are in the set measurement for the document
      // This can be changed to "pt" (points), "mm" (Default), "cm", "in"
      doc.fromHTML($('body').get(0), 15, 15, {
        'width': 170, 
      });
      doc.save();
    }

<button onclick="download()">Download page</button>

0 голосов
/ 02 июня 2018

Сначала вы создаете php-файл (или любую другую технику, которую хотите использовать), чтобы превратить html в pdf (для тех, у кого этот шаг не выполнен, wkHtmlToPdf подходит для этого).

Следующий шаг не является обязательным, но рекомендуется:
Вы создаете download.php, который читает файл и выводит его на экран, с соответствующими заголовками .Этот файл может быть защищен (сейчас или позже), например, возможно, вы хотите, чтобы пользователь вошел в систему для определенных файлов.Теперь это можно легко добавить.

И теперь вы ссылаетесь на него в своем HTML-шаблоне: <a href="/download.php?file=123">download</a>.Поскольку download.php отправляет заголовки в браузер (говоря: «Привет, я PDF, скачай меня»), браузер знает, что с ним делать.
Если вы хотите пропустить файл download.php,что опять-таки я не рекомендую, просто связывайтесь напрямую с convertToPdf.php и позвольте ему выводить свой результат, а не сохранять его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...