2010-11-29 101 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