Modul: Html to PDF Converter und Exportieren (Artikel)

cschwan2006
Beiträge: 70
Registriert: Do 21. Sep 2006, 10:56
Kontaktdaten:

Re: Alles gemacht aber Fehlermeldung

Beitrag von cschwan2006 » Fr 3. Nov 2006, 12:41

schick mir mal ne PM mit deiner E-Mail Adresse.
ich sende dir dann mal ne andere version von dem Modul, welche ich verwende:

Schau mal hier:

gleich am Text anfang siehst du "PDF" klick dort mal drauf!

http://clever-server.de/unternehmen/akt ... test1.html

Gruss Christian

yodatortenboxer
Beiträge: 424
Registriert: Do 22. Jan 2004, 14:45
Wohnort: Kölpinsee auf Usedom
Kontaktdaten:

Beitrag von yodatortenboxer » Mo 20. Nov 2006, 15:47

Hiho...


ich hatte da leider bei der Installation ebenfalls ein paar probleme.
Hier steht:
öffne mal die fpdf_eps.php und dort steht gleich am anfgang:


Code:
require('../fpdf.php');
class PDF_EPS extends FPDF

function PDF_EPS($orientation='P',$unit='mm',$format='A4'){
parent::FPDF($orientation,$unit,$format);
}

das austauschen mit

Code:
require('pdf/html2fpdf.php');
class PDF_EPS extends HTML2FPDF

function PDF_EPS($orientation='P',$unit='mm',$format='A4'){
parent::HTML2FPDF($orientation,$unit,$format);
}


Dann dürfte das ganze klappen!
wenn ich nun genau das mache bekomme ich folgende Fehlermeldung:

Code: Alles auswählen

Parse error: parse error, unexpected T_FUNCTION, expecting '{' in /srv/www/htdocs/contenido/cms/pdf/fpdf_eps.php on line 28
im quelltext ist mir dann ausgefallen das bei dir folgendes steht

Code: Alles auswählen

class PDF_EPS extends HTML2FPDF
während im original eine { am ende vorhanden ist.

Code: Alles auswählen

class PDF_EPS extends FPDF{
also habe ich nun die fpdf_eps.php geöffnet und den Code:

Code: Alles auswählen

require('../fpdf.php');

class PDF_EPS extends FPDF{

function PDF_EPS($orientation='P',$unit='mm',$format='A4'){
	parent::FPDF($orientation,$unit,$format);
}
mit

Code: Alles auswählen

require('pdf/html2fpdf.php');
class PDF_EPS extends HTML2FPDF{

function PDF_EPS($orientation='P',$unit='mm',$format='A4'){
    parent::HTML2FPDF($orientation,$unit,$format);
}
also mit { ausgetauscht...

nun habe ich leider die selbe fehlermeldung wie donner_blitz :(

cschwan2006
Beiträge: 70
Registriert: Do 21. Sep 2006, 10:56
Kontaktdaten:

Beitrag von cschwan2006 » Mi 22. Nov 2006, 04:09

yodatortenboxer hat geschrieben:Hiho...


ich hatte da leider bei der Installation ebenfalls ein paar probleme.
Hier steht:
öffne mal die fpdf_eps.php und dort steht gleich am anfgang:


Code:
require('../fpdf.php');
class PDF_EPS extends FPDF

function PDF_EPS($orientation='P',$unit='mm',$format='A4'){
parent::FPDF($orientation,$unit,$format);
}

das austauschen mit

Code:
require('pdf/html2fpdf.php');
class PDF_EPS extends HTML2FPDF

function PDF_EPS($orientation='P',$unit='mm',$format='A4'){
parent::HTML2FPDF($orientation,$unit,$format);
}


Dann dürfte das ganze klappen!
wenn ich nun genau das mache bekomme ich folgende Fehlermeldung:

Code: Alles auswählen

Parse error: parse error, unexpected T_FUNCTION, expecting '{' in /srv/www/htdocs/contenido/cms/pdf/fpdf_eps.php on line 28
im quelltext ist mir dann ausgefallen das bei dir folgendes steht

Code: Alles auswählen

class PDF_EPS extends HTML2FPDF
während im original eine { am ende vorhanden ist.

Code: Alles auswählen

class PDF_EPS extends FPDF{
also habe ich nun die fpdf_eps.php geöffnet und den Code:

Code: Alles auswählen

require('../fpdf.php');

class PDF_EPS extends FPDF{

function PDF_EPS($orientation='P',$unit='mm',$format='A4'){
	parent::FPDF($orientation,$unit,$format);
}
mit

Code: Alles auswählen

require('pdf/html2fpdf.php');
class PDF_EPS extends HTML2FPDF{

function PDF_EPS($orientation='P',$unit='mm',$format='A4'){
    parent::HTML2FPDF($orientation,$unit,$format);
}
also mit { ausgetauscht...

nun habe ich leider die selbe fehlermeldung wie donner_blitz :(
Schick mir mal deine E-Mail per om sende dir dann das neue zu

kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

Ja, den Fehler habe ich leider auch . .

Beitrag von kenzo » Mi 22. Nov 2006, 16:23

Klappt es mit einer anderen Modulversion?

Würde dann mein Interesse anmelden.

Danke vorab.

cschwan2006
Beiträge: 70
Registriert: Do 21. Sep 2006, 10:56
Kontaktdaten:

Re: Ja, den Fehler habe ich leider auch . .

Beitrag von cschwan2006 » Fr 24. Nov 2006, 01:46

kenzo hat geschrieben:Klappt es mit einer anderen Modulversion?

Würde dann mein Interesse anmelden.

Danke vorab.
Jep bei 2 vom contenido forum hier habe ich das schon installiert

mko
Beiträge: 123
Registriert: Di 1. Feb 2005, 10:26
Wohnort: Österreich
Kontaktdaten:

Beitrag von mko » Sa 3. Mär 2007, 08:26

Gibt es da schon ein Rezept gegen diese Fehlermeldung?

#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Beitrag von #ayshe » Do 8. Mär 2007, 14:22

Wenn man clever-server.de aufruft kommt man gleich in die XAMPP rein :lol:

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 8. Mär 2007, 15:00

#ayshe hat geschrieben:Wenn man clever-server.de aufruft kommt man gleich in die XAMPP rein :lol:
dir ist schon aufgefallen das die xampp dein eigener server ist oder ?
*** make your own tools (wishlist :: thx)

#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Beitrag von #ayshe » Do 8. Mär 2007, 15:41

Hah! Das ist ja noch witziger, bin nämlich an einem fremden Laptop - wußte gar nicht, dass hier ein XAMPP installiert ist. Na sowas! 8)

pajarito
Beiträge: 3
Registriert: Fr 23. Jun 2006, 16:32
Wohnort: reisend
Kontaktdaten:

Beitrag von pajarito » Fr 23. Mär 2007, 18:40

Hallo Contenido Freunde:-)

Hab das Modul einmal bei mir installiert (Apache 2.0x, Con4.6.15), aber im IE kommt das selbe Gemuese raus wie schon im Thread besprochen. Ich koennte mir vorstellen, dass ein evtl. gesandter Header das Problem ist. Weil das File wird in meinem Verzeichnis (pdf/tmp) erstellt - ohne Probleme. Nun ja, ich habe einmal um ein paar Fehlerquellen auszuschliessen den Code in eine separate Datei im CMS Ordner kopiert, ein paar Pfade angepasst und auf die readfile() Funktion verzichtet. Nun scheint es zu funktionieren (getetestet auf IE6 und Firefox 2.0.0.3).

Hier einmal den Code fuer den Aufruf der externen Datei (Link):

Code: Alles auswählen

<? 

echo "<a href='
{$cfgClient[$client]['path']['frontendpath']}generate_pdf.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&pdf=1'>PDF erstellen</a>"; 

?>
und hier der Code in der Datei generate_pdf.php:

Code: Alles auswählen

<? 
	include_once ("config.php");
	include_once ($contenido_path . "includes/startup.php");

	if ($cfgClient["set"] != "set") { 
      		$db = new DB_Contenido; 
      		rereadClients(); 
	} 

	if ($pdf) {    
		require_once('pdf/fpdf_eps.php'); 
		// activate Output-Buffer: 
		ob_start(); 
		//START-OF-PHP code (...) 


		// include der DB Variablen von Contenido und der Pfade 
		include $cfg["path"]["contenido"].$cfg["path"]["includes"] . 'cfg_sql.inc.php'; 

		// Verbinden mit der Datenbank 
		$db    = new DB_Contenido; 
		$query = "SELECT  htmlpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='".$client."'"; 
		$db->query($query); 
		$db->next_record(); 
		$front = $db->f("htmlpath"); 

		//Auslesen der Aktuellen idartlang des Artikels 
		$query = "SELECT ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ". 
          	$cfg["tab"]["art_lang"]." AS ARTLANG ". 
         	"WHERE CATART.idcat = '$idcat' AND ARTLANG.idart = '$idart' AND ARTLANG.idlang = '$lang' AND "."ARTLANG.online = '1' "; 
          	$db->query($query); 
         	$db->next_record(); 
          	$value = $db->f("idartlang"); //wird im nächsten SQL Query gebraucht 

		/*Auslesen der CMS_HTML[1] des Aktuellen Artikels 
 		'$value' AND idtype = '2' AND typeid = '1'"; ist das Modul Text(HTML) --> CMS_HTML[1] 
 		'$value' AND idtype = '1' AND typeid = '2'"; wäre z.B. das Modul Subheadline (HTML) --> 
		CMS_HTMLHEAD[2] 
		'$value' AND idtype = '1' AND typeid = '1'"; wäre z.B. das Modul Headline (HTML) --> 
		CMS_HTMLHEAD[1] 
		in der Tabelle con_content kann man sich das ansehen. in der Tabelle con_type ist die idtype 
		abgelegt. --> in das DB-Modell schauen und die Tabellen mit PHPMyAdmin ansehen !!!! */ 


		$sql2 = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '2' AND typeid = '3000'"; 
          	$db->query($sql2); 
          	$db->next_record(); 
          	$htmltext = $db->f("value"); 
          	$htmltext = urldecode  ($htmltext); 
  
		// PHP code here //END-OF-PHP code 
		// Output-Buffer in variable: 
		$htmlbuffer=ob_get_contents(); 
		// delete Output-Buffer : 
		ob_end_clean(); 

		$pdf=new PDF_EPS(); 
		$pdf->AddPage(); 
		$pdf->WriteHTML($htmltext); 
		$pdfFile = "pdf/tmp/".$idcat.".pdf"; 
		$pdf->Output($pdfFile); 

		$file = basename($pdfFile); 
		$size = filesize($pdfFile); 


		header("Pragma: public");
		header("Expires: 0"); 
		header("Cache-Control: must-revalidate, post-check=0,
		pre-check=0");

		header("Content-Type: application/pdf");
		header("Content-Length: ".$size);
		header("Content-Disposition: Attachment; filename=$idcat.pdf");
		header("Content-Transfer-Encoding: binary");


		//verwende nicht readfile(), sondern fopen w/IE
		$fp = fopen($pdfFile, 'rb');
		$pdf_buffer = fread($fp, $size);
		fclose ($fp);

		print $pdf_buffer;

		//script beenden
		exit();
} 

?>
Vielleicht hilfs ja jemanden... Ich werde es auf jeden Fall demnaechst in meiner Website einbauen:-)

Gruesse aus Koh Samui
Pajarito

pajarito
Beiträge: 3
Registriert: Fr 23. Jun 2006, 16:32
Wohnort: reisend
Kontaktdaten:

Beitrag von pajarito » Sa 24. Mär 2007, 03:10

Also, hab noch ein wenig rumgeproebelt und bin zum Schluss gekommen, dass die Ursache fuer das Problem ein gesandter HTTP Header ist. Nachdem ich das Originalskript von diesem Thread an erster Stelle im Html Layout platziert habe (bevor <html>) scheint es zu funktionieren... also kann auf die externe Datei generate_pdf.php verzichtet werden:-)

So gibts auch keinen wuesten Redirect resp. Window.Open(). Also, vergesst meinen Skript, nehmt den Original-Skript und platziert das Modul an erster Stelle in eurem Layout:

Beispiel:

Code: Alles auswählen

CMS_CONTAINER[10]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
Den Linkaufruf habe ich woanders im Layout untergebracht.

Gruesse
Pajarito

Jojoweb
Beiträge: 29
Registriert: Do 21. Apr 2005, 14:59
Kontaktdaten:

Beitrag von Jojoweb » So 29. Apr 2007, 00:21

Hallo,
habe das Modul wie beschrieben installiert, allerdings bekomme ich immer die Fehlermeldung "Parse error: syntax error, unexpected T_FUNCTION, expecting '{' in /serverpfad/cms/pdf/fpdf_eps.php on line 19" beim Ausführen.

Weiß jemand woran das liegen kann bzw. hat jemand Abhilfe?

jcf
Beiträge: 44
Registriert: Fr 22. Dez 2006, 17:30
Kontaktdaten:

Beitrag von jcf » Sa 19. Mai 2007, 16:06

Hallo Zusammen,

das Skript funktioniert soweit sehr gut bei mir. Allerdings habe ich zwei Probleme:

1. Er zeigt den HTMLHEAD nicht an? Habe zwei davon. Könnte das das Problem sein?
2. Ich habe das Mod_Rewrite installiert, sodass er bei Aufruf von "pdf/tmp/idcat.pdf" in das falsche Verzeichnis gelangt. Richtig wäre "/cms/pdf/tmp/idcat.pdf". Gibt es hier eine Lösung? Wenn ich den Pfad nämlich ändere, bekomme ich folgenden Fehler:

Code: Alles auswählen

Warning: Unknown(): open_basedir restriction in effect. File(/cms/pdf/fpdf_eps.php) is not within the allowed path(s): ...
Vielen Dank für Unterstützung und Ideen!

alderim
Beiträge: 253
Registriert: Do 17. Nov 2005, 12:22
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von alderim » So 3. Jun 2007, 13:32

Hallo Zusammen,
gibt es mittlerweile eine funktionierende Lösung für die Fehlermeldung mit dem "Cannot modify header information - headers already sent by " Problem?!

Das Container im Layout verschieben hatte bei mir keinen Erfolg

Danke,
A.
Gruß,
Alderim

alderim
Beiträge: 253
Registriert: Do 17. Nov 2005, 12:22
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von alderim » So 3. Jun 2007, 13:51

Ok, die Fehlermeldung ist jetzt nicht mehr da.

Aber beim öffnen des Pdf-Links hängt sich der firefox auf und der Explorer bietet mir eine .pdf datei zum download an, als typ ein Adobe Acrobat Control for Activex, und nur 1,25 kb groß.
Diese pdf datei ist dann leer beim öffnen..

jemand einen Tipp wie man das zum laufen bringen könnte?
Danke,
A.
Gruß,
Alderim

Gesperrt