php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.07.2004, 19:52  
Gast
 
Beiträge: n/a
Standard Wie eine PDF Seite aufbauen

Hallo

Ich habe eine InternetSeite und möchte jeden Artikel den ich dort habe auch ermöglichen als PDF herunterzuladen oder anzuzeigen.

Und jetzt habe ich ein Problem:
also ich bin schon in der Lage eine PDF zu erstellen ein bild einzubinden und normallen/kurzen text aber ich habe Probleme damit einen Längeren Text in die Seite einzubauen vor allem weil die Textlänge Variabel ist und ich direkt unter diesen Text mit anderen Text weitermachen muss. das klappt bei mir nicht so gut. könnte mir jemand helfen?


So sieht meine PHP-Seite jetzt aus:

Code:
<?php
  $db = mysql_connect($sql_host, $sql_user, $sql_pass);
  $res = mysql_db_query($sql_DB, "SELECT * from pflanzeninfo_daten WHERE gattung_botanisch like '$gattung_botanisch'");
  $num = mysql_num_rows($res);
  if ($num!=0)
  {
    $id = mysql_result($res, 0, "ID");
    $gattung_deutsch = mysql_result($res, 0, "gattung_deutsch");
    $gattung_botanisch = mysql_result($res, 0, "gattung_botanisch");
    $familie_deutsch = mysql_result($res, 0, "familie_deutsch");
    $familie_botanisch = mysql_result($res, 0, "familie_botanisch");
    $beschreibung = mysql_result($res, 0, "beschreibung");
    $anzucht_anleitung = mysql_result($res, 0, "anzucht_anleitung");
    $pflege_anleitung = mysql_result($res, 0, "pflege_anleitung");
    $autor = mysql_result($res, 0, "autor");
  }
  mysql_close($db);


  $pdf = pdf_new();
  pdf_open_file($pdf, "");
  pdf_begin_page($pdf, 600, 900);
  pdf_set_value($pdf, "textrendering", 0);

//Logo
  $im = pdf_open_png($pdf, "logo.png");
  pdf_place_image($pdf, $im, 40, 860, 0.5);
  pdf_close_image($pdf, $im);
    
//Linie
  pdf_setlinewidth ($pdf, 1);
  pdf_moveto($pdf, 30, 855);
  pdf_lineto($pdf, 570, 855);
  pdf_stroke($pdf);

//Link
  pdf_add_weblink($pdf, 470, 857, 570, 867, "http://www.exoteninfo.com");
  pdf_set_font($pdf, "Helvetica", 8, "host");
  pdf_show_xy($pdf, "www.exoteninfo.com", 485, 859);

//Titel
  pdf_set_font($pdf, "Helvetica", 12, "host");
  pdf_show_xy($pdf, "Gattung: $gattung_deutsch ($gattung_botanisch)", 40, 840);
  pdf_show_xy($pdf, "Familie: $familie_deutsch ($familie_botanisch)", 40, 825);

//Beschreibung
  pdf_show_xy($pdf, "Beschreibung:", 40, 800);
  pdf_set_font($pdf, "Helvetica", 12, "host");
  $texth = pdf_stringwidth($pdf, $beschreibung) / 520;
  pdf_show_xy($pdf, "$lefty", 40, 760);
  pdf_show_boxed($pdf, $beschreibung, 40, 785 - $texth, 520, $texth, "left");

//Anzuch

//Pflege

//Bild

    
  pdf_end_page($pdf);
  pdf_close($pdf);
  $daten = pdf_get_buffer($pdf);
  header("Content-type: application/pdf");
  header("Content-length: ".strlen($daten));
  header("Content-disposition: inline; filename=dokument.pdf");
  print($daten);
?>
Damit ihr euch auch ein Bild davon machen könnt wovon ich spreche poste ich hier mal einen Link
http://www.exoteninfo.com/new/anleit...sch=Passiflora

Wenn iht oben auf PHP klickt so wird der oben genannte Code ausgeführt.

Bitte ich brauche hilfe!
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.07.2004, 20:23  
Gast
 
Beiträge: n/a
Standard Re: Wie eine PDF Seite aufbauen

Zitat:
Zitat von jonny
das klappt bei mir nicht so gut. könnte mir jemand helfen?
Die Fehlerbeschreibung ist extrem dürftig. Da das PDF nur 2 Zeilen Text anzeigt, vermute ich mal kühn (mit der PDF Extension habe ich noch nix gebastelt), daß der Parameter für die Texthöhe in pdf_show_boxed() fehlerhaft ermittelt wird.
 
Alt 12.07.2004, 21:07  
Gast
 
Beiträge: n/a
Standard

Und ein paar Verbesserungsvorschläge hätte ich da auch noch.

Auszug aus der Doku zu mysql_db_query:
Diese Funktion ist seit PHP 4.0.6 veraltet. Verwenden Sie diese Funktion nicht. Stattdessen sollten Sie die Funktionen mysql_select_db() und mysql_query() verwenden.

16.14. Warum soll ich nicht SELECT * schreiben?
http://www.dclp-faq.de/q/q-sql-select.html

Und die mysql_result sind auch nicht besonders effektiv, Du greifst neun mal auf die DB zu, das kann man mit einem mysql_fetch_array oder mysql_fetch_object erschlagen.

Und vielleicht lohnt ein Blick auf http://www.fpdf.org, mit diesem Tool lassen sich PDF'S wesentlich besser erzeugen.

Gruß
phpfan
 
Alt 12.07.2004, 21:49  
Gast
 
Beiträge: n/a
Standard

Hmm das die mysql_db_querry nicht mehr aktuel sind das wusste ich nicht.

Das mit "select *" verstehe ich auch. Danke!

Doch was ist das "mysql_fetch_array oder mysql_fetch_object"? *neuling*

das mit fpdf schau ich mir mal an. Danke!
 
Alt 12.07.2004, 21:59  
Gast
 
Beiträge: n/a
Standard

Du benutzt 9x mysql_result, um alle Daten aus der Abfrage zu holen, ein mysql_fetch_array ist da besser:

Code:
    $data = mysql_fetch_array($res);
    $id = $data["ID"]; 
    $gattung_deutsch = $data["gattung_deutsch"]; 
    $gattung_botanisch = $data["gattung_botanisch"]; 
    $familie_deutsch = $data["familie_deutsch"]; 
    $familie_botanisch = $data["familie_botanisch"]; 
    $beschreibung = $data["beschreibung"]; 
    $anzucht_anleitung = $data["anzucht_anleitung"]; 
    $pflege_anleitung = $data["pflege_anleitung"]; 
    $autor = $data["autor"];
Gruß
phpfan
 
Alt 12.07.2004, 22:02  
Gast
 
Beiträge: n/a
Standard

Achso! jetzt verstehe ich, das stimmt so ist das ganze um einiges schneller nehme ich an.

Danke auch für den Tipp!
 
Alt 13.07.2004, 00:09  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von jonny
*neuling*
Dann bist Du im Profi Forum falsch. Die Unterteilung betrifft den Fragenden und nicht die Antwortenden

->moved to Anfänger Forum
 
 


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
CURL in Seite einloggen und einen Teil parsen Matt PHP Tipps 2008 8 03.09.2009 22:30
Seite nicht mehr gültig Igäl PHP Tipps 2006 3 25.05.2006 16:08
[Erledigt] Wetten automatisch von anderer Seite beziehen PHP Tipps 2006 11 03.03.2006 09:09
Formular - Daten für nächste Seite behalten NetLook PHP Tipps 2007 7 18.11.2005 13:21
Frame schließen und Wie eine PDF Seite aufbauen workaholic HTML, Usability und Barrierefreiheit 2 06.09.2005 13:36
Kontaktformular, welches auf neue html Seite führt PHP Tipps 2005-2 4 20.07.2005 11:21
Mit post an weitere Seite oder 2 Seiten übergeben? PHP Tipps 2005 1 02.02.2005 12:16
Neue Seite an einer bestimmten Stelle aufrufen PHP Tipps 2005 3 13.01.2005 10:09
blätterfunktion-limit-letzte seite PHP Tipps 2004-2 2 20.12.2004 23:56
Eine 2te Seite auto matisch in neuem Fenster laden PHP Tipps 2004 4 25.08.2004 14:10
klick auf Button soll Seite neu aufbauen HTML, Usability und Barrierefreiheit 3 04.08.2004 23:45
[Erledigt] Tabelle auf einer Seite auslesen und in meiner Seite wiederg PHP Tipps 2004 2 14.07.2004 08:46
"NEWS-SCRIPT" in eine Seite einbinden: Aber wie ? PHP Tipps 2004 2 03.07.2004 16:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fpdf pdf_show_boxed, pdf aufbauen, http://www.php.de/php-tipps-2004/4793-wie-eine-pdf-seite-aufbauen.html, $pdf, $pdf. =, php pdf textlänge, fpdf text kürzen..., fpdf schrift in höhe abschneiden, php pdf aufbauen, linie fpdf, fpdf php datensatz neue seite, fpdf pdf-optimierung, pdf blätterfunktion, automatisch neue seite bei pdf_show_boxed, fpdf texthöhe, fpdf text auf länge kürzen, fpdf lefty, php seite aufbauen während sql abfrage, fpdf content size, mysql_result textlänge

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:25 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.