PHP in PDF umwandeln

Post non-phpwcms related topics here - but I don't want to see "hey check this or that other cms". Post if you have a point or worthwhile comment, don't post just to increase you post count!
User avatar
TheSearch
Posts: 97
Joined: Thu 22. Dec 2005, 09:56
Location: Lauenau / Willich
Contact:

PHP in PDF umwandeln

Post by TheSearch »

Hallo!

Ich suche eine gute & einfache Möglichkeit eine php Seite in PDF umzuwandeln.

Kennt jemand eine Möglichkeit, die einfacher als FPDF ist, bzw. wo ich einfach die ganze Seite als PDF ausgeben lassen kann?

Thx.
jscholtysik

Post by jscholtysik »

Hi,


ich habe da auch schon mal bei OG nachgefragt, habe aber als Antwort erhalten, dass diese Funktion quasi "Luxus" wäre und bis auf weiteres nicht auf seiner TO-DO-Liste steht... :roll:


Joachim
Jan212
Posts: 859
Joined: Wed 28. Jan 2004, 21:38
Location: Solingen
Contact:

Post by Jan212 »

Hatte auch schonmal nen Thread rausgehauen mit Frage nach interner Content Ausgabe -> PDF... Noch nix neues, wäre m.E. ein sinnvolles Feature.
Regards/ Grüsse/ Groetjes - JAN212
------------------------------------------------
null212 - Büro für Kommunikation und Design
------------------------------------------------
Lyrikfetzen des Tages
1. Ist der Quelltext auch valide fragt Herr Müller ganz perfide.
2. Wat is dat een lekker ding.
3. Wer Vision hat soll zum Arzt gehen.
------------------------------------------------
User avatar
marcus@localhorst
Posts: 815
Joined: Fri 28. May 2004, 11:31
Location: localhorst
Contact:

Post by marcus@localhorst »

selbstbauen sollte doch möglich sein - sag ich mal in meinem jugendlichen leichtsinn.
m.
Jan212
Posts: 859
Joined: Wed 28. Jan 2004, 21:38
Location: Solingen
Contact:

Post by Jan212 »

Ja mit etwas Zeit und Geschick. Wenn man nun wie ich beides weniger hat :cry:
Regards/ Grüsse/ Groetjes - JAN212
------------------------------------------------
null212 - Büro für Kommunikation und Design
------------------------------------------------
Lyrikfetzen des Tages
1. Ist der Quelltext auch valide fragt Herr Müller ganz perfide.
2. Wat is dat een lekker ding.
3. Wer Vision hat soll zum Arzt gehen.
------------------------------------------------
jscholtysik

Post by jscholtysik »

Hi zusammen,


so eine Lösung per FPDF gibt es ja schon in phpMyFAQ auf der FAQ-Seite von phpwcms unter

http://faq.phpwcms-docu.de/

Leider habe ich es nicht geschafft, den Quellcode so abzuändern, dass er auch unter phpwcms läuft... :-(

Vielleicht findet sich ja irgend jemand, der uns den phpMyFAQ-Code so umschreiben kann, dass er auch phpwcms läuft... ;-)


Joachim
User avatar
marcus@localhorst
Posts: 815
Joined: Fri 28. May 2004, 11:31
Location: localhorst
Contact:

Post by marcus@localhorst »

wenn ich grad keinen liebeskummer hätte, würd ichs vielleicht machen :oops: :( :lol:
User avatar
Heiko H.
Posts: 868
Joined: Thu 27. Oct 2005, 11:41
Location: Dresden
Contact:

Post by Heiko H. »

Hallo Männer (ja auch die mit Liebeskummer :wink: ),

angestachelt durch diesen Thread und der Tatsache geschuldet, dass ich mich schon lange etwas näher mit PHP befassen wollte, hab ich mich heute mal ansatzweise mit diesem Thema auseinandergesetzt.
Die Idee war, die print.php aus diesem Thread: http://www.phpwcms.de/forum/viewtopic.php?t=3759 und html2pdf (basiert auf FPDF) von einem Miteinader zu überzeugen, das ist auch im ersten Anlauf gar nicht so schwer (s. hier http://www.haubner-it.de/cms/text_m_bild.phtml PDF Generator ganz unten) der Teufel steckt, wie immer, im Detail z.Bsp. klappt die Ausgabe von GIF's nicht. Die leer.gif wird ja aber sehr häufig z. Bsp. als Spacer in versch. Content Parts verwandt :? und ich bin sicher je mehr man probiert, desto größer wird der Problemberg :roll:

Wie gesagt, das ist das Ergebnis von ca. 1,5 Std. Probiererei, dann musste ich erstmal aufhören und den Kochlöffel schwingen, das mach ich gern und kann ich wesentlich besser als PHP coden :wink:


Ich hoffe, das ist ein Schritt in eure Richtung und ich will mir Mühe geben, die Sache weiter zu verfolgen, als totale PHP-Null werde ich sicher noch etwas Zeit dafür benötigen :oops:


Grüße aus DD, Heiko
User avatar
marcus@localhorst
Posts: 815
Joined: Fri 28. May 2004, 11:31
Location: localhorst
Contact:

Post by marcus@localhorst »

Heiko H. wrote: Ich hoffe, das ist ein Schritt in eure Richtung und ich will mir Mühe geben, die Sache weiter zu verfolgen, als totale PHP-Null werde ich sicher noch etwas Zeit dafür benötigen :oops:
besser als an praktischen beispielen kannst du garnet lernen. :-)
ich habe jetzt überhaupt keine ahnung wie das funktioniert.
Ich nehme an, man kann nur sehr einfaches HTML benutzen oder korrektes, ganz ohne blind gifs.
Wie werden stylesheets interpretiert? (interessiert mich mal so)

grüße nach Dresdn :-)
phalancs
Posts: 793
Joined: Thu 19. Feb 2004, 05:09
Location: Germany

supi

Post by phalancs »

so hab ich das auch mal versucht, nur hatte das alles nur aufm localhorst gefunzt. Online gings mit dem print script nicht da gabs dieses Referer Problem. Villeicht ist die Zeit mal wieder reif.

Magste uns Deinen jetzigen Arbeitsstatus mal mitteilen wäre super :) Dank im voraus. Das mit den Gifs wär mir erstmal wurscht glaube ich, denke ich hoffe ich.
2008
Jan212
Posts: 859
Joined: Wed 28. Jan 2004, 21:38
Location: Solingen
Contact:

Post by Jan212 »

@marcus - don't lass deinen kopp hängen... Frauen gibt's wie Sand am Meer, einmalig sind nur ganz wenige, und für die gibbet Ersatz ;).
Regards/ Grüsse/ Groetjes - JAN212
------------------------------------------------
null212 - Büro für Kommunikation und Design
------------------------------------------------
Lyrikfetzen des Tages
1. Ist der Quelltext auch valide fragt Herr Müller ganz perfide.
2. Wat is dat een lekker ding.
3. Wer Vision hat soll zum Arzt gehen.
------------------------------------------------
User avatar
Heiko H.
Posts: 868
Joined: Thu 27. Oct 2005, 11:41
Location: Dresden
Contact:

Post by Heiko H. »

Hallo,

natürlich geb ich gern den momentanen Kenntnisstand zum Besten, aber nicht lachen!!! :oops:

Also, wie gesagt die Idee stammt größentteils von hier: http://www.phpwcms.de/forum/viewtopic.php?t=3759

Analog dazu irgendwo im body ein:
<!-- startpdf -->
ein
<!-- stoppdf -->
und einen Link zur pdf.php etwa so:
<a href="http://www.yourdomain.tld/pdf.php" target="_blank">PDF-Generator</a>
platzieren.

z.Bsp.: so

Code: Select all

<!-- startpdf -->
{CONTENT}
<!-- stoppdf -->
<a href="http://www.yourdomain.tld/pdf.php" target="_blank">PDF-Generator</a>
die pdf.php liegt in dem Fall im CMS-Root und sieht momentan so aus:

Code: Select all

<?php
require('include/inc_ext/html2fpdf/html2fpdf.php');
// activate Output-Buffer:
ob_start();
if (is_null($HTTP_REFERER)) {
print "<br><br><p align='center'><strong>SORRY...you can't access PDF-Generator directly....without referer page!</strong><br>\n";
}
else { 
$startingpoint = "<!-- startpdf -->";
$endingpoint = "<!-- stoppdf -->";
$read = fopen($HTTP_REFERER, "rb");
$value = "";
while(!feof($read)){
$value .= fread($read, 4096);
}
fclose($read);
$start= strpos($value, "$startingpoint");
$finish= strpos($value, "$endingpoint");
$length= $finish-$start;
$value=substr($value, $start, $length);
echo $value;
// Output-Buffer in variable:
$PDF=ob_get_contents();
// delete Output-Buffer :
ob_end_clean();
$pdf=new HTML2FPDF();
$pdf->AddPage();
$pdf->WriteHTML($PDF);
$pdf->Output(); //Outputs on browser screen
}
?>
Das HTML2FPDF Packet gibt's hier http://sourceforge.net/projects/html2fpdf und dieses habe ich nach include/inc_ext/html2fpdf/ verfrachtet. Das kann man natürlich machen, wie man will, muss aber ggf. den Pfad require('include/inc_ext/html2fpdf/html2fpdf.php');
anpassen.

Also wenn jemand Zeit, Lust, mehr Ahnung oder alles zusammen hat würde ich auch gern erfahren, wie's besser geht.

@phalancs
Das mit den Gif's ist, nach dem was ich so in Erfahrung bringen konnte, nicht zu lösen. Das betrifft Transparente Gif's und leider werden diese allerorten im CMS als Spacer verwendet :?

Man müsste also den Code vor der Ausgabe cleanen, dabei geht ja aber wieder Layout flöten :roll:
Vielleicht tauscht man aber das transparente Gif vor der Ausgabe in ein Weißes, das geht aber auch nur solang gut, wie der Hintergrund im PDF weiß bleibt, ist also auch nix Hundertprozentiges.
Ich hab auch schonmal was gesehen, da werden Gif's vor der PDF-Ausgabe in PNG gewandelt, das sollte ich mir mal näher ansehen.


Auf jeden Fall werd ich da momentan nicht allzuviel dran machen können, ich hab zwar keinen Liebeskummer :wink: , aber, zum Glück, ne ganz gute Auftragslage :D

EDIT:

die Gif-Problematik lässt sich so lösen:
in der fpdf.php von html2fpdf so bei Zeile 1362 folgendes in die function Image einfügen vor:

Code: Select all

	//Put an image on the page
	if(!isset($this->images[$file]))
	{...etc.

Code: Select all

		// add this code
		// work out if the image is a gif
		// if so, make it a png
		if (exif_imagetype($file) == IMAGETYPE_GIF) {
		$tmp_filename = tempnam('/tmp/', 'pdfgif');
		$img = imagecreatefromgif($file);
		imagepng($img, $tmp_filename);
		rename($tmp_filename, $tmp_filename.'.png');
		$file = $tmp_filename.'.png';
		}

		// end added code


Grüße Heiko...
Last edited by Heiko H. on Mon 22. Jan 2007, 21:33, edited 3 times in total.
User avatar
marcus@localhorst
Posts: 815
Joined: Fri 28. May 2004, 11:31
Location: localhorst
Contact:

Post by marcus@localhorst »

dat sieht doch ganz gut aus... :-)
(mal son ganz unqualifizierter Kommentar) :-)

Mein Liebeskummer hat sich etwas verflüchtigt. Immerhin weiss ich jetzt wieder das es auch noch andere sachen gibt, als auf einen texteditor zu glotzen, hehe
Jan212
Posts: 859
Joined: Wed 28. Jan 2004, 21:38
Location: Solingen
Contact:

Post by Jan212 »

Wieso lachen - das ist doch schonmal ein super Ansatz... Dank dir von meiner Seite aus... Werde ich morgen oder heute Abend ma testen.

@marcus - dat wird schon wieder...
Regards/ Grüsse/ Groetjes - JAN212
------------------------------------------------
null212 - Büro für Kommunikation und Design
------------------------------------------------
Lyrikfetzen des Tages
1. Ist der Quelltext auch valide fragt Herr Müller ganz perfide.
2. Wat is dat een lekker ding.
3. Wer Vision hat soll zum Arzt gehen.
------------------------------------------------
phalancs
Posts: 793
Joined: Thu 19. Feb 2004, 05:09
Location: Germany

Post by phalancs »

Hey. Danke für die Infos. Im Grunde funktionierts.

Wenn ich Deinen Ergänzungscode hinzufüge erhalte ich allerdings folgende Meldung:

Code: Select all

Fatal error: Call to undefined function: exif_imagetype() in /mnt/jd2/02/294/00000012/htdocs/cms/pdf/fpdf.php on line 1367
Liegts am Server, oder fehlt da noch was?

Das ganze ist ganz nett, aber ziemlich empfindlich, bei zahlreichen Texten erscheinen die Umlaute falsch (ich glaube bei allen Wysiwyg Texten). Das mit den Gifs hingegen ist mir irgendwie nicht so aufgefallen.

Für reine Texte ists ausreichend. Wunder darf man nicht erwarten, denn sobald ein paar Bilder oder Tabellen mit Farben drin sind, siehts meist nicht mehr so aus wie es sollte.

Aber dennoch Danke für Deine Zeit, ist sicherlich ausbaufähig und für einige Belange auch ausreichend! :)
2008
Post Reply