我想生成网页的PDF,但是应用替代的打印类型样式表而不是它现在使用的样式。比如说,我在http://eorailway.co.uk上有一个按钮来生成相同页面的PDF(由我运行和管理,因此我可以包含每个页面所需的任何PHP / JS)但是我想要在生成PDF之前,将替代样式应用于它。
目前我正在使用dompdf PHP库使用普通/默认样式表生成PDF,但在我的生活中不能想到如何在单击“生成PDF”按钮时将备用样式表应用于页面。
非常感谢任何建议。
答案 0 :(得分:1)
由于网站受到控制,您可以根据查询字符串参数动态决定要包含哪些样式表。即http://example.com/page.php?stylesheet=print将使您的模板仅输出备用样式表,并且您的PDF库将获取该页面以生成。
答案 1 :(得分:0)
我建议使用“打印”样式表制作备用页面,并使用print meta标记指向它。 (例如<link rel="alternate" media="print" href="<? ECHO $_SERVER['PHP_SELF'].'?print'; ?>"">
)
然后让PHP根据GET变量的存在来确定要使用的样式表。
答案 2 :(得分:0)
您可以使用php中的DOMXML内容将特定的XSLT文件应用于某些XML:
$stylsheet = "Example.xsl";
$xsldoc = domxml_xslt_stylesheet_file($stylsheet);
$htmldoc = $xsldoc->process($xmldoc);
$results_page = $xsldoc->result_dump_mem($htmldoc);
这是我在php4中所做的,在5中可能是一种更简单的方法。
答案 3 :(得分:0)
在DOMPDF的0.6.0版本中,您可以通过修改DOMPDF_DEFAULT_MEDIA_TYPE配置常量来指定要使用的样式表。
http://code.google.com/p/dompdf/source/browse/trunk/dompdf/dompdf_config.inc.php?r=336#234