Я нашел несколько библиотек или веб-сервисов на PHP, которые выполняют эту работу. Проблема в том, что преобразование выполняется, когда страница полностью загружена, я бы хотел конвертировать страницу в PDFпосле динамического добавления некоторого контента через AJAX в событии onload.
Большое Вам спасибо, Омар






Когда вы добавляете контент с помощью AJAX, это происходит только на клиентском компьютере, поэтому серверный код преобразования PHP не будет работать с ним. Вам нужно будет придумать серверный метод включения динамического содержимого, если вы хотите создавать PDF-файлы на сервере.
Это требование на стороне клиента из-за ситуации с Ajax. Если они используют Mac, они могут просто сохранить в формате PDF, но в противном случае у вас мало контроля над тем, что они могут делать.
Однако что вы можете сделать для реализации на стороне сервера, так это вести учет страницы и всех их запросов AJAX с момента загрузки этой страницы и создавать HTML и PDF на сервере из этой записи, если это требуется. Конечно, это непростая задача и излишняя. Вам, вероятно, было бы лучше иметь другой механизм для создания серверного отчета в формате PDF для страницы, отличный от преобразования HTML в PDF.
Вы могли бы реализовать вызов AJAX, который отправлял бы содержимое / состояние страницы обратно на сервер после добавления динамического содержимого, где его можно было бы отобразить как pdf. Возможно, вам не понадобится вся страница, в зависимости от того, куда будет идти этот «динамический контент».
Кажется немного запутанным, но, не зная проекта, трудно сказать, может ли быть более чистый способ сделать то, что вы пытаетесь сделать.
Вы можете отправить document.getElementsByTagName('html')[0].innerHTML на сервер (возможно, используя AJAX) и сгенерировать из него PDF.
Если ваша страница может быть обновлена только на клиенте, без обращения к серверу, вам придется опубликовать резервную копию в своем приложении. Таким образом, у вас будет весь контент, и вам не придется перестраивать, что было бы невозможно, если бы были взаимодействия только на стороне клиента.
Вау, спасибо всем, я не знал, что это сообщество такое активное. Чтобы ответить на Beepcake о проекте:
Когда страница загружается, приложение извлекает с более чем 40 серверов биологическую информацию через запрос AJAX, затем отображается уникальное представление, в котором вы можете управлять графикой с множеством опций.
Так что лучше всего будет распечатать, когда пользователь сделает свою собственную версию графики. Я думаю, что лучшее решение - отправить весь HTML-код с помощью document.getElementsByTagName ('html') [0] .innerHTML, как сказал Роборг, а затем сгенерировать PDF-файл с помощью такой библиотеки, как dompdf