Intereting Posts
IDE для CodeIgniter, работающий в Ubuntu Linux как передать php-параметр в javascript PHP-скрипт, чтобы оставаться на несколько секунд на одной странице и перенаправлять Удалить субдомен из строки url, если найден субдомен Как отобразить страницу 404 Apache по умолчанию в PHP Изменение macOS Sierra предотвращает «say», чтобы быть exec'd в скрипте PHP Я получаю «Ваши требования не могут быть разрешены к устанавливаемому набору пакетов». Когда я запускаю обновление для композитора Как установить расширение PHP локально на WAMP? Как получить контакт по электронной почте с помощью google api. PHP Сохранять XML-код при использовании PHP XMLWriter :: writeElement Facebook iframe не работает в IE; проблема сеанса / входа? Идентификация имен классов из $ _SERVER Проблема DOMDocument :: validate () Получение неопределенной переменной: PHP_SELF Ошибка безопасности AWS SSL: 60: SSL-сертификат …: невозможно получить сертификат локального эмитента

Печать текущей страницы в pdf с помощью wkhtmltopdf

Недавно установлен wkhtmltopdf. Попытка захватить всю страницу в текущем состоянии, однако, ниже метод, похоже, переходит к исходному состоянию этой страницы без всех введенных пользователем полей ввода.

PHP

shell_exec('wkhtmltopdf http://localhost/www/bolt/invoice.php invoice.pdf'); 

Мне было интересно, знает ли кто-нибудь о реализации wkhtmltopdf который фиксирует текущее состояние страницы, включая любой текст, введенный в текстовые поля?

Я ценю любые предложения.

Спасибо заранее!

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

sub.php

 <?php $documentTemplate = file_get_contents ("template.html"); foreach ($_POST as $key => $postVar) { $documentTemplate = preg_replace ("/name=\"$key\"/", "value=\"$postVar\"", $documentTemplate); } file_put_contents ("out.html", $documentTemplate); shell_exec ("wkhtmltopdf out.html test.pdf"); ?> 

template.php

 <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> </head> <body> <h1>This is a page</h1> <form action="sub.php" method="post" accept-charset="utf-8"> My Test Field: <input type="text" name="test_field" value=""> <input type="submit" value = "submit"> </form> </body> </html> 

Вероятно, в конечном итоге у вас должен быть какой-то базовый шаблон, который будут использовать обе страницы, и у вас есть некоторые маркеры, такие как value = '% valueOfThisVariable%' в ваших полях ввода, которые вы можете заменить пробелами при представлении полей пользователю , и заполнить данные пользователя при создании страницы, которую вы хотите записать в формате pdf. Сейчас он просто проходит и заменяет все имя = 'this_name' значением = 'this_name-> value'.