php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.03.2006, 16:02  
Benutzer
 
Registriert seit: 14.02.2006
Beiträge: 49
webazubi
Standard html2pdf: externe css einbinden

Hallo. Ich traue mich doch noch einmal ins Profi-Forum, nachdem zu meinem Problem bei den "Anfängern" keine Antwort kam.

Komme nicht weiter bei dem Versuch, eine externe css-Datei in ein über fpdf/htm2pdf erstelltes PDF zu integrieren.

Es klappt, wenn ich in die zu konvertierende HTML-Datei die CSS-Angaben als <style> getaggte Angaben schreibe.
In der PDF klappt aber weder der eigentliche Aufruf einer externen CSS innerhalb dieser HTML-Datei mit dem Befehl
<link rel="stylesheet" type="text/css" href="meine.css">,
noch der Versuch innerhalb des PHP-Skriptes, das die PDF generiert, diesen Befehl mittels echo unterzubekommen.

Ich würde natürlich am liebsten die CSS erst bei der PDF-Erstellung einführen, statt sie im Head einer jeden HTML-Datei einzubinden.
Die Möglichkeit, die CSS-Angaben selbst in die PHP zu schreiben, gefällt mir nicht, weil der User die Möglichkeit haben soll, eine eigene CSS-Datei für die PDF-Erstellung hochzuladen.

Wie kann ich das machen?

Ergänzung:
Inzwischen habe ich mich zwar damit angefreundet, dass der User nicht nur seine eigene CSS, sondern das gesamte PHP-Steuerungsskript für die PDF hochladen kann und so wesentlich mehr Gestaltungsspielraum erhält, aber dennoch, irgendwie muss es doch mit der externen css gehen.
webazubi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.03.2006, 19:52  
Gast
 
Beiträge: n/a
Standard

<html>
<head>
<link rel="stylesheet" type=text/css" href="meine.css">
</head>
<body>
...
</body>
</html>
einfach nur das ? ist nur HTML?
  Mit Zitat antworten
Alt 03.03.2006, 11:46  
Benutzer
 
Registriert seit: 14.02.2006
Beiträge: 49
webazubi
Standard

Zitat:
Zitat von SgtTarek
<html></html>
Das ist ja der HTM-Befehl für die HTML-Datei, die ich ja als PDF haben will. Ich suche aber den Befehl, wie in in der PHP-Datei, die die HTML einliest und als PDF ausschpuckt, die CSS eingeführt wird. So bräcuhte ich eben nicht in jede HTML die CSS reinschreiben.
Muss irgendwie gehen mit $pdf->UseCSS(true);

Aber wo und wie spezifiziere ich die CSS innerhalb der PHP?
webazubi ist offline   Mit Zitat antworten
Alt 03.03.2006, 20:41  
Gast
 
Beiträge: n/a
Standard

alsomach doch einfach so nen Index:


PHP-Code:
<?php
$a
=$_GET['a'];
        if (
$a == "")
                
$a="main";
?>
<html>
<head>

<title>- Titel -</title>
</head>
<link rel='stylesheet' type='text/css' href='URL'>
<body>
        <table border=0 width=100%>
                <tr>
                        <td>
                                <?php include "inc/banner.inc.php"?>
                        </td>
                </tr>
                <tr>
                        <td>
                                <center>
<?php
//Main
switch ($a) {
        case 
'main':
        case 
'login':
        case 
'team':
                include 
"inc/$a.inc.php";
                break;
        default:
                echo 
"Es tut uns Leid die Seite ist nicht vorhanden.
[url='index.php']Home[/url]"
;
                break;
}
?>
                                </center>
                        </td>
                </tr>
        </table>
</body>
</html>
dann brauchst du gar kein HTML mehr
:wink:
  Mit Zitat antworten
Alt 04.03.2006, 22:42  
Gast
 
Beiträge: n/a
Standard Re: html2pdf: externe css einbinden

Zitat:
Zitat von webazubi
Hallo. Ich traue mich doch noch einmal ins Profi-Forum, nachdem zu meinem Problem bei den "Anfängern" keine Antwort kam.
Das liegt an der Frage und nicht am Forum.

Zitat:
Komme nicht weiter bei dem Versuch, eine externe css-Datei in ein über fpdf/htm2pdf erstelltes PDF zu integrieren.
Huch? Was haben CSS und PDF gemeinsam? Nix.
  Mit Zitat antworten
Alt 19.03.2006, 09:32  
Benutzer
 
Registriert seit: 14.02.2006
Beiträge: 49
webazubi
Standard Re: html2pdf: externe css einbinden

Zitat:
Huch? Was haben CSS und PDF gemeinsam? Nix.
Eben. Entweder habe ich mich falsch ausgedrückt oder wurde falsch verstanden.

Mit Hilfe der Klasse FPDF kann man aus Texten oder ganzen Textdateien PDF-Dateien generieren. Mit der Klasse htmlpdf lassen sich darüber hinaus auch HTM-Dateien als PDFs generieren. Und dabei soll es möglich sein, dass die Klasse nicht nur die HTM-Tags wie h1, p, usw. erkennt und in PDF entsprechend umsetzt, sondern dass die Klasse auch eine dazugehörige CSS-Datei heranziehen und verarbeiten kann.
Und dafür fehlt mir eben der Aufruf innerhalb des PHP-Skriptes, das diese PDF aus der HTM mithilfe der CSS generiert.
webazubi ist offline   Mit Zitat antworten
Alt 19.03.2006, 10:36  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: html2pdf: externe css einbinden

Zitat:
Zitat von webazubi
Und dafür fehlt mir eben der Aufruf innerhalb des PHP-Skriptes, das diese PDF aus der HTM mithilfe der CSS generiert.
ja, weil's den aufruf gar nicht gibt ... um ordentliches html2pdf hinzubekommen, braucht's eine eigene parsing engine - und css zu interpretieren ist nicht gerade einfach.

http://tufat.com/s_html2ps_html2pdf.htm ist die bisher am besten funktionierende library... und wenn jemand was besseres sieht, her damit
axo ist offline   Mit Zitat antworten
Alt 19.03.2006, 13:46  
Benutzer
 
Registriert seit: 14.02.2006
Beiträge: 49
webazubi
Standard Re: html2pdf: externe css einbinden

Zitat:
ja, weil's den aufruf gar nicht gibt
Hmm. Unter http://html2fpdf.sourceforge.net/ sagt das Example 4 aber, das es gehen soll. Und unter "Class Doc" finden sich mehrere Hinweise auf CSS wie z.B. $cssbegin oder $backupcss oder $usecss und die Funktion
UseCSS($opt=true) mit dem Hinweis "Return: void OBS: Enable/Disable CSS recognition. No-Parameter: Enable"

Irgendwie gehen muss das doch. Zumal ja auch die CSS-Tags, die direkt im Head der HTM-Datei stehen, interpretiert werden, nur eben nicht alle und bislang auch noch nicht über den Link zu einer externen CSS.
Aber ich schaue mir Deinen Link mal an.

Die function ReadCSS($html) gibt es auch noch. Aber auch hier habe ich versucht, die Variabel §html mit einem CSS-Link einzubinden - leider erfolglos.
webazubi ist offline   Mit Zitat antworten
Alt 21.03.2006, 01:04  
Benutzer
 
Registriert seit: 14.02.2006
Beiträge: 49
webazubi
Standard

Hallo. Falls jemand vor dem ähnlichen Problem steht, hier meine vorläufige Lösung. Die HTM-Datei, die nur CSS-Tags, nicht aber die CSS-Style-Angaben beinhaltet, soll eingelesen und mit der dazugehörigen CSS (bzw. einer externen CSS) verknüpft werden, damit das PDF entsprechend der CSS aussieht.
Da ich mit den internen CSS-Befehlen der Klasse htm2pdf nicht klarkomme, setze ich eine Datei mit den Headinhalten samt CSS-Aufruf vor die eigentlich zu parsende HTML-Datei.

$str1 = implode("", @file("css_head.htm"));
$str2 = implode("", @file($htmlFile));

$buffer = $str1 . $str2;
$pdf->WriteHTML($buffer);

In der css_head.htm steht eigentlich nur der Verweis auf die externe CSS-Datei:
<head>
<title>Test</title>
<link rel="stylesheet" type="text/css" href="meine.css" />
</head>

Erste Versuche scheinen zu klappen, Geschwindigkeit akzeptabel (zumindest aus meinem XAMPP). Mal sehen was so noch alles geht,

Danke
webazubi ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Externe seite aufrufen, und einbinden? PHP Tipps 2005 6 01.11.2009 13:04
externe Variable im Skript ausgeben kampfnickel PHP Tipps 2007 17 29.01.2007 18:05
PDF ohne "rahmen" einbinden King2k HTML, Usability und Barrierefreiheit 2 26.07.2006 16:17
externe PHP Seite in HTML-Tabelle einbinden meisterigel PHP Tipps 2006 1 03.07.2006 21:58
html2pdf einbinden ??? NetLook PHP Tipps 2006 0 24.04.2006 10:51
html2pdf: externe CSS einbinden webazubi PHP Tipps 2006 0 28.02.2006 16:36
Highlight im BBCodefunktion einbinden PHP Tipps 2007 15 09.12.2005 11:15
Metatags per php einbinden? imported_FlasH PHP Tipps 2005-2 3 30.10.2005 15:33
rss/xml Feeds auf Webseite einbinden PHP Tipps 2005-2 2 29.10.2005 13:44
Externe HTML oder PHP Datei auslesen (von XAMPP ins WWW) PHP Tipps 2005-2 4 09.09.2005 08:12
Gästebuch einbinden ohne Frames PHP Tipps 2005-2 6 16.07.2005 19:22
Externe Seite einbinden? PHP Tipps 2005 4 18.02.2005 09:19
Richtiges Einbinden Mano PHP Tipps 2005 1 04.01.2005 19:40
[Erledigt] externe Seiten einbinden HTML, Usability und Barrierefreiheit 6 03.11.2004 19:14
allgemeines Problem beim einbinden von php-Scripts PHP Tipps 2004 3 11.08.2004 22:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html2pdf css, html2fpdf css, html2pdf stylesheet, css.ch/docfinden, html2pdf css einbinden, http://www.php.de/php-fortgeschrittene/37741-html2pdf-externe-css-einbinden.html, html2pdf usecss, externe css in php einbinden, css.ch./docfinder, html2pdf externe css, php css einbinden, externes stylesheet in php einbinden, externe css einbinden, pdf css einbinden, html2pdf php css, html2pdf aufrufen, extern css, php html2pdf css, php html2pdf styles, php externe css einbinden

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.