2010-11-29 4 views
1

Я хочу создать PDF-файл веб-страницы, но вместо него применяю альтернативную таблицу стилей печати, а не стили, которые она использует сейчас. Скажем, например, у меня есть кнопка на http://eorailway.co.uk для создания PDF-страницы той же страницы (которая запускается и администрируется мной, поэтому я могу включить любой PHP/JS, необходимый для каждой страницы), но я хочу применить альтернативный стиль для перед созданием PDF.Создайте PDF-файл с помощью таблицы стилей/печати стилей

В настоящее время я использую PHP-библиотеку dompdf для создания PDF-файла, используя стандартную таблицу стилей по умолчанию, но не могу в течение всей жизни думать о том, как применять альтернативную таблицу стилей к странице при нажатии кнопки «Создать PDF» ,

Любые советы наиболее ценятся.

ответ

1

Поскольку сайт находится под контролем, вы можете динамически решать, какие таблицы стилей включать, основываясь на параметре строки запроса. т. е. http://example.com/page.php?stylesheet=print будет иметь ваш шаблон, выводящий только альтернативную таблицу стилей, и ваша библиотека PDF будет извлекать эту страницу для генерации.

+0

Это хорошо и, вероятно, работоспособный предложение. – PaulSkinner

0

Я бы рекомендовал сделать альтернативную страницу с использованием таблицы стилей печати и указать ее с помощью метатега печати. (например, <link rel="alternate" media="print" href="<? ECHO $_SERVER['PHP_SELF'].'?print'; ?>"">)

Затем PHP определит таблицу стилей, используемую на основе наличия этой переменной GET.

0

Вы можете использовать материал DOMXML в PHP, чтобы применить определенный файл XSLT к некоторому XML:

$stylsheet = "Example.xsl"; 
$xsldoc = domxml_xslt_stylesheet_file($stylsheet); 
$htmldoc = $xsldoc->process($xmldoc); 
$results_page = $xsldoc->result_dump_mem($htmldoc); 

Это то, что я сделал в PHP4, может быть проще в 5.