fpdf und Positionierung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fpdf und Positionierung

    Hallo zusammen,

    arbeite gerade mit fpdf und möchte verschiedene Elemente auf der Seite positionieren. Da gibt es ja anscheinend mehrere Ansätz: SetX, eine leere Cell malen etc. Was ist da am Besten bzw. wer hat da schon Erfahrungen mit gemacht?

    DANKE!

    strauberry

  • #2
    Ich denke, dass kann man pauschal nicht sagen, ich für meinen teil arbeite auch im html bereich noch relativ klassisch mit tabellen und 'blank.gif' um elemente zu positionieren.

    Ich denke im einzelfall liegst an den vorlieben des programmierers. die einzige erfahrung die ich gemacht habe, ist das bilder mit der einheit mm nicht immer korrekt dargestellt werden. Ich meine dass hat mit der einheit mm und der dargstellten dpi zahl zu tun. In irgendeinem anderen forum hatte ich auch mal gelesen, dass man bilder am besten mit 'pt' formatiert.

    Problem hierbei ist natürlich, dass die einheit global eingestellt wird und somit auch alle anderen angaben in 'pt' erfolgen müssen

    Ansonsten sind die scripts auf http://www.fpdf.org recht hilfreich. Ich habe mir die verschiedenen scripts angeschaut und konnte mir dadurch einen recht guten ansatz für meine eigene programmierung verschaffen.
    [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

    Kommentar


    • #3
      Wenn du schon länger damit arbeitest, kannst mir vielleicht bei einem Mysterium helfen: Folgender Code ergibt bei mir immer ein Timeout:

      PHP-Code:
         function Header() {

            foreach(
      $this->arr_Header as $Header) {

               if(
      $Header[0] == "addText") {
              
              if(!empty(
      $Header[1]["Schriftgroesse"])) 
      $this->SetFont($this->arr_Optionen['Schriftart'],'',$Header[1]["Schriftgroesse"]);
                  
              
      $Header[1]["Text"] = str_replace("{SEITENZAHL}",$this->PageNo(),$Header[1]["Text"]);
                  
      $this->EinfacherText($Header[1]);
           
               }
         
             }
             
            
      $this->SetFont($this->arr_Optionen['Schriftart'],'',$this->arr_Optionen['Schriftgroesse']);

         }

         function 
      EinfacherText($Parameter = array()) {
         
            if(!empty(
      $Parameter['xPos'])) $this->SetX($Parameter['xPos']);
            if(!empty(
      $Parameter['yPos']))$this->SetY($Parameter['yPos']);
            
            if(!empty(
      $Parameter['Schriftgroesse'])) $this->SetFontSize($Parameter['Schriftgroesse']);
            
            if(
      $Parameter['NeueZeile'] == true$this->Ln(5);
            
            
      $this->Write(5,$Parameter['Text']);
         
         } 
      Da sind keine Endlosschleifen und nichts drin... ich verstehs einfach nicht

      Kommentar


      • #4
        fpdf - ???

        Hallo zusammen,

        mittels Cell gebe ich einen Text aus. Wenn ich mir nun den unteren Rand der Cell ausgeben lasse ('B'), dann erscheint die Linie nicht - wie eigentlich erwartet - unterhalb des Textes, sondern streicht ihn exakt in der Mitte durch... wie geht das denn?

        Rand unten heißt doch unterhalb? Oder nicht?

        VIELEN DANK!

        strauberry

        Kommentar


        • #5
          macht es wirklich sinn, dafür einen neuen thread zu öffnen? NEIN!

          *merge*
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Re: fpdf - ???

            ...Wenn ich mir nun den unteren Rand der Cell ausgeben lasse ('B'), dann erscheint die Linie nicht - wie eigentlich erwartet - unterhalb des Textes, sondern streicht ihn exakt in der Mitte durch... wie geht das denn?

            Rand unten heißt doch unterhalb? Oder nicht?

            Zeig mal das script im zusammenhang. kann man so nicht viel sagen.

            Habe deinen code zum timeout nur kurz überflogen, möglicherweise stimmt was nicht mit dem zweiten funktionsaufruf
            PHP-Code:
            $this->EinfacherText($Header[1]); 
            und
            PHP-Code:
            function EinfacherText($Parameter = array()) { 
            bin mir nicht sicher ob das so konform ist, mag mich aber auch irren.

            Gibst du das pdf direkt an den browser aus oder wird zunächst nur eine datei erzeugt? bei großen bzw. vielen seiten kommt
            vieleicht das 5 minuten script timeout zum tragen.

            versuch das doch mal mit ein wenig debuggen einzugrenzen.
            [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

            Kommentar


            • #7
              Hab das Problem jetzt gefunden: Unter fpdf.de steht, dass man mit SetY(<0) relativ zum unteren Seitenrand positionieren kann. Mittels AutoPageBreak war unten bei 25 mm. Dann habe ich SetY(-5) gemacht, um knapp oberhalb dieser 25 mm zu positionieren. Tollerweise bezieht sich das "relativ zum unteren Seitenrand" auf den Papierseitenrand, also da, wo das Blatt tatsächlich zu Ende ist. Dadurch lag mein Footer unterhalb des AutoPageBreak und es kam doch zu einer Endlosschleife. In meiner Header() schalte ich jetzt vorher das AutoPageBreak aus und dann wieder ein...

              Vielen Dank für die Hilfe!

              Kommentar

              Lädt...
              X