2010-11-29 16 views
1

Ich möchte ein PDF einer Webseite generieren, aber anstelle der Stile, die es jetzt verwendet, ein alternatives Drucktyp-Stylesheet anwenden. Sagen wir zum Beispiel, ich habe eine Schaltfläche unter http://eorailway.co.uk, um eine PDF derselben Seite zu erstellen (die von mir ausgeführt und verwaltet wird, also kann ich jedes PHP/JS auf jeder Seite einfügen), aber ich möchte einen alternativen Stil anwenden es vor dem Generieren der PDF.Generate PDF von Seite mit alternate/print Stylesheet

Im Moment benutze ich die dompdf PHP-Bibliothek, um die PDF mit dem normalen/Standard-Stylesheet zu erstellen, kann aber nicht wie ich das alternative Stylesheet auf die Seite anwenden, wenn ich auf "PDF erzeugen" klicke .

Jeder Rat wird am meisten geschätzt.

Antwort

1

Da die Site unter Kontrolle ist, können Sie basierend auf einem Abfragezeichenfolgenparameter dynamisch entscheiden, welche Stylesheets einbezogen werden sollen. d. h. http://example.com/page.php?stylesheet=print würde Ihre Vorlage nur das alternative Stylesheet ausgeben, und Ihre PDF-Bibliothek würde diese Seite zum Generieren abrufen.

+0

, dass ein guten und wahrscheinlich tragfähige Vorschlag ist. – PaulSkinner

0

Ich würde empfehlen, eine alternative Seite mit dem Stylesheet "print" zu erstellen und mit dem Print-Meta-Tag darauf zu zeigen. (z. B. <link rel="alternate" media="print" href="<? ECHO $_SERVER['PHP_SELF'].'?print'; ?>"">)

Dann muss PHP das zu verwendende Stylesheet basierend auf dem Vorhandensein dieser GET-Variablen bestimmen.

0

Sie die DOMXML Sachen in PHP verwenden können eine bestimmte XSLT-Datei zu einem gewissen XML anwenden:

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

, dass etwas, das ich in php4 tat, könnte ein einfacher Weg sein, in 5.