2010-11-29 64 views
1

我想生成一个网页的PDF,但应用替代的打印类型样式表,而不是它现在使用的样式。比方说,我有一个http://eorailway.co.uk的按钮来生成同一页面的PDF(由我运行和管理,所以我可以包含每个页面所需的任何PHP/JS),但是我想将替代样式应用于它在生成PDF之前。使用替代/打印样式表生成页面的PDF

目前,我正在使用dompdf PHP库来使用正常/默认样式表生成PDF,但不能在我的生活中考虑如何在单击“生成PDF”按钮时将备用样式表应用于页面。

任何建议是最感谢。

回答

1

由于网站在控制之下,您可以根据查询字符串参数动态决定要包含哪些样式表。即http://example.com/page.php?stylesheet=print将使您的模板仅输出替代样式表,并且您的PDF库将提取该页面以生成。

+0

这是一个很好的可能可行的建议。 – PaulSkinner 2010-11-29 17:37:48

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