Lanthan: Seitenumbruch fuer Druck

halloele,

ich hab ein mittleres problem.

ich habe ein drucklayout erstellt per php. fuer's drucken habe ich versucht einen automatischen seitenumbruch einzubauen, was aber ohne erfolg war.

ausserdem habe ich ein javascript mit dessen hilfe sich ein neues fenster oeffnet. dieses fenster soll sich automatisch an das in ihm befindliche bild anpassen. allerdings oeffnet sich das fenster im ie6.0 kleiner als das bild, als im ie5.0 (da funktioniert es)

kann es sein, dass es am browser liegt? ich benutze den ie6.0.

wenn ja, gibts es dafuer eine loesung fuer beide probs? welche?

gruesse lanthan

  1. Hi,

    fuer's drucken habe ich versucht einen automatischen seitenumbruch einzubauen, was aber ohne erfolg war.

    _wie_ hast Du es versucht? Was hat Deine Recherche hier im Archiv ergeben? Tipp: HTML und PHP sind im Gegensatz zu CSS die falschen Themengebiete.

    ausserdem habe ich ein javascript mit dessen hilfe sich ein neues fenster oeffnet.

    Schade.

    dieses fenster soll sich automatisch an das in ihm befindliche bild anpassen.

    Mach's umgekehrt: Öffne es bereits in der richtigen Größe. Oder (besser) gar nicht.

    allerdings oeffnet sich das fenster im ie6.0 kleiner als das bild, als im ie5.0 (da funktioniert es)

    Eine Fehlersuche ohne den fehlerhaften Code ist eher schwierig.

    kann es sein, dass es am browser liegt?

    Offenbar.

    ich benutze den ie6.0.

    Ich nicht.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. danke fuer deine ueberaus nette antwort.

      den seitenumbruch kann ich so wie ich will und wie ich es mir erlesen haben (archiv, selfhtml, andere foren) nicht verwirklichen, den grund zu erklaeren, waere zu viel aufwand.

      an dem bild/fenster werd ich noch ein bisschen arbeiten, einen hinweis habe ich, dem werd ich nachgehen.

      danke fuer die hilfe.

      ---freundlichkeit ist eine tugend---

      1. Hi,

        den seitenumbruch kann ich so wie ich will und wie ich es mir erlesen haben (archiv, selfhtml, andere foren) nicht verwirklichen, den grund zu erklaeren, waere zu viel aufwand.

        es ist schwer, einen Fehler zu finden, wenn Du nicht mal sagst, was Du versucht hast.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo Lanthan,

    ich habe ein drucklayout erstellt per php. fuer's drucken habe ich versucht einen automatischen seitenumbruch einzubauen, was aber ohne erfolg war.

    Das Page-Break-Before|After Zeugs ist meiner Erfahrung nach
    mit den aktuellen Browsern nicht brauchbar.

    Wenn Dir die Seitenumbrueche und das Drucklayout wichtig sind,
    koenntest Du versuchen, _neben_ der HTML-Druckversion auch eine
    PDF-Druckversion zu generieren, z.B. mit FPDF:
    http://www.fpdf.org/

    ausserdem habe ich ein javascript mit dessen hilfe sich ein neues fenster oeffnet. dieses fenster soll sich automatisch an das in ihm befindliche bild anpassen. allerdings oeffnet sich das fenster im ie6.0 kleiner als das bild, als im ie5.0 (da funktioniert es)

    Es empfiehlt sich, das Fenster gleich in der richtigen Groesse
    zu oeffnen. Das heisst, mindestens 25 Pixel breiter und hoeher
    als das Bild (wegen Mozilla - fuer MS IE wuerden 15 Pixel reichen).

    Eine einfache Funktion fuer diesen Zweck ist:

    function bildfenster(bildurl,dimx,dimy)
    {
     var fensterx=dimx+25;
     var fenstery=dimy+25;
     bildpopup = window.open(bildurl,'bildfensterlein','locationbar=no,scrollbars=no,resizable=yes,width='+fensterx+',height='+fenstery);
    }

    Ein Problem kommt dazu, wenn der Benutzer das PopUp-Fenster nicht schliesst,
    stattdessen wieder im Hauptfenster rumklickt und spaeter wieder einen
    Link klickt, der sich im PopUp oeffnen soll. Dann wird dieser im
    Hintergrund geladen. Deshalb versuche ich, ein allenfalls vorhandenes
    PopUp am Anfang der Funktion zu schliessen, und setze am Schluss
    der Funktion den Focus aufs PopUp:

    function bildfenster(bildurl,dimx,dimy)
    {
     if (window.bildpopup && !window.bildpopup.closed)
        { bildpopup.close(); }
     var fensterx=dimx+25;
     var fenstery=dimy+25;
     bildpopup = window.open(bildurl,'bildfensterlein','locationbar=no,scrollbars=no,resizable=yes,width='+fensterx+',height='+fenstery);
     bildpopup.focus();
    }

    Der Link sieht z.B. so aus und funktioniert auch ohne JavaScript:
    <a href="grossbild538x288.gif" onClick="bildfenster(this.href,538,288); return false;">
    <img src="kleinesbild.gif" alt="Alternativtext"></a>

    kann es sein, dass es am browser liegt? ich benutze den ie6.0.

    Alles, was mit CSS, JavaScript und "pixelgenauem" Layout zu tun hat,
    ist stark vom Browser abhaengig;-)

    mfg
    Thomas

    1. Hallo Thomas,

      danke fuer die Hilfe.
      Das Drucklayout ist mir nicht sehr wichtig, es sollte nur einigermassen gut ausschaunen.

      Zu deinem Code: mein Problem ist, dass ich nicht weiss, wie gross die jeweiligen Bilder sind, ich kann also keine festen Werte uebergeben. das muss mit funktion herrausgefunden werden um dann in der Groesse oder ein wenig groesser das Fenster zu oeffnen.

      Das Bild wird als erstes kleiner angezeigt:
              <img border="0" src="zzz.jpg" height="200"
                           onclick="bild_gross(bild_gross,width,height)"
                           style="cursor:pointer;">

      Ausserdem habe ich das Bild in Originalgroesse eingebaut um width und height zu erhalten:
              <div style="position:absolute; top:-1000px; left:-1000px;>
                 <img id="bild_gross" src="zzz.jpg"
                            style="visibility:hidden;">
              </div>

      Durch klick auf das kleine Bild wird eine Funktion aufgerufen, die eigentlich ein popup in der groesse des Bildes erzeugen soll mit dem Bild als Inhalt:
              <script type="text/javascript">
               <!--
                function bild_gross()
                {
                 window.open("zzz.jpg", "Grosses Bild",
                                   bild_gross.width,bild_gross.height);
                }
               //-->
              </script>

      Aber leider funktioniert es noch nicht. Irgendwie muss an die Funktion die Groesse des Bildes uebergeben werden, aber wie ...

      Danke schon jetzt fuer hilfreiche Antwort

      Lanthan

      function bildfenster(bildurl,dimx,dimy)
      {
       var fensterx=dimx+25;
       var fenstery=dimy+25;
       bildpopup = window.open(bildurl,'bildfensterlein','locationbar=no,scrollbars=no,resizable=yes,width='+fensterx+',height='+fenstery);
      }

      function bildfenster(bildurl,dimx,dimy)
      {
       if (window.bildpopup && !window.bildpopup.closed)
          { bildpopup.close(); }
       var fensterx=dimx+25;
       var fenstery=dimy+25;
       bildpopup = window.open(bildurl,'bildfensterlein','locationbar=no,scrollbars=no,resizable=yes,width='+fensterx+',height='+fenstery);
       bildpopup.focus();
      }

      <a href="grossbild538x288.gif" onClick="bildfenster(this.href,538,288); return false;">
      <img src="kleinesbild.gif" alt="Alternativtext"></a>

      1. Hi Lanthan,

        Aber leider funktioniert es noch nicht. Irgendwie muss an die Funktion die Groesse des Bildes uebergeben werden, aber wie ...

        woher hast Du denn den Namen "zzz"? Da, wo Du diesen Namen bekommen hast, bekommst Du auch die fehlenden Attribute der Datei - notfalls durch eine serverseitige Logik dynamisch berechnet.

        Viele Grüße
              Michael

        --
        T'Pol: I apologize if I acted inappropriately.
        V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
        (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
        Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
        1. hab's :)

          <script type="text/javascript">
          <!--
          function bild_gross()
          {
           var weite=0;
           var hoehe=0;
           weite=document.bild.width+20;
           hoehe=document.bild.height+20;
           window.open("zzz.jpg","GrossesBild","scrollbars=no,width="+weite+",height="+hoehe+",left=0,top=0");
          }
          //-->
          </script>