Contao-Camp 2024
Ergebnis 1 bis 25 von 25

Thema: Rechnung sauberer Seitenumbruch auf 2.Seite oder mehr

  1. #1
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard Rechnung sauberer Seitenumbruch auf 2.Seite oder mehr

    Hallo,

    Isotope 2.7.3
    Contao 4.9.20
    [ispiredminds/contao-isotope-pdf-templates]

    Die Rechnungsausgabe hat einen Schönheitsfehler bei einer Positionsanzahl die dann nicht mehr auf 1 Seite passt, sondern ein 2.+ Seite benötigt.
    Es wird hier fleissig in die Fusszeile der Seite geschrieben und beginnt die nächste Seite dann einfach wieder ganz oben und schreibt damit in die Kopfzeile.

    Gibt es einen Hinweis eurerseits wie ich die letzte beschriebene Zeile bestimmen bzw. die Anzahl der Produkte pro Seite einschränken kann. Und wie man ab der 2.Seite erst weiter unterhalb zu schreiben beginnt?
    Ich weiss, dies müsste im Template, wahrscheinlich im iso_collection_invoice.html5 (?) geschehen. Aber ich kann mir aktuell nicht vorstellen, wie ich das anpassen könnte ...
    Hatte dies schon mal jemand umsetzen müssen und kann mir das template als Ansatz zeigen?

    Vielen Dank schon mal für die Hilfestellung
    Grüsse
    Bernhard


  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Ich vermute, dass der Inhalt, der nicht umbricht, in einer <table> drin ist. mPDF unterstützt keine Page Breaks innerhalb von <table>. Es kann höchstens Tables automatisch verkleinern, wenn die Table nicht auf eine Seite passt.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, korrekt iso_collection_invoice.html5 wird als <table> umgesetzt.

    Es kann höchstens Tables automatisch verkleinern, wenn die Table nicht auf eine Seite passt.
    mit 'verkleinern' verstehe ich "stauchen", oder? Oder einfach Inhalte abschneiden?

    Wie könnte ein Lösung ohne <table> aussehen? Denn auch ein<div> erkennt ja keinen Seitenumbruch bzw. weiss, dass ab Seite 2 z.B. ein margin rein muss
    Grüsse
    Bernhard


  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Zitat Zitat von derRenner Beitrag anzeigen
    mit 'verkleinern' verstehe ich "stauchen", oder? Oder einfach Inhalte abschneiden?
    Proportional verkleinern (wie ein Bild).


    Zitat Zitat von derRenner Beitrag anzeigen
    Denn auch ein<div> erkennt ja keinen Seitenumbruch
    Doch, das funktioniert. Bzw. du kannst es dann entsprechend per CSS steuern (siehe https://mpdf.github.io/paging/page-breaks.html).


    Zitat Zitat von derRenner Beitrag anzeigen
    bzw. weiss, dass ab Seite 2 z.B. ein margin rein muss
    Meinst du damit die Seitenränder? Die sind ja definiert (oder von dir über die TCPDF kompatiblen Konstanten geändert).
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, denk Link hatte ich mittlerweile (dank deines wordings) gefunden
    ... dann werde ich mich dort gleich mal weiter umsehen!

    vielen Dank schon mal
    Grüsse
    Bernhard


  6. #6
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    133

    Standard

    Hallo Bernhard und Fritz,

    nachdem ich jetzt header und Footer ins Template reinbekommen hab, muss ich mich dem Thread anschließen und fragen:
    Wo kann ich denn für Mpdf margin-top und margin-bottom setzen, damit mein Header und mein Footer nicht überschrieben werden?

    Liebe Grüße
    Eva

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Die Erweiterung nutzt die selben Konstanten wie contao/tcpdf-bundle, also du kannst bspw. folgendes in deiner contao/config/config.php schreiben:
    PHP-Code:
    \define('PDF_MARGIN_TOP'20);
    \
    define('PDF_MARGIN_BOTTOM'20); 
    » sponsor me via GitHub or PayPal or Revolut

  8. #8
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    133

    Standard

    Danke dir! Hat funktioniert!

    Liebe Grüße
    Eva

  9. #9
    Contao-Nutzer
    Registriert seit
    12.02.2014.
    Beiträge
    52

    Standard

    Zitat Zitat von vienneva Beitrag anzeigen
    Hallo Bernhard und Fritz,

    nachdem ich jetzt header und Footer ins Template reinbekommen hab, muss ich mich dem Thread anschließen und fragen:
    Wo kann ich denn für Mpdf margin-top und margin-bottom setzen, damit mein Header und mein Footer nicht überschrieben werden?

    Liebe Grüße
    Eva
    Hallo Eva,

    wie hast du den Header und den Footer in das Template bekommen?

    Vielen Dank!

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Den setzt du einfach in der PDF Vorlage.
    » sponsor me via GitHub or PayPal or Revolut

  11. #11
    Contao-Nutzer
    Registriert seit
    12.02.2014.
    Beiträge
    52

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Den setzt du einfach in der PDF Vorlage.
    Danke für deine Antwort.

    Eine PDF-Datei als Template habe ich schon drin. Mein Problem ist die Rechnungsnummer und die Seitenzahl, die sollen auf jeder Seite stehen. mPDF bietet eine Möglichkeit per SetHTMLHeader()
    PHP-Code:
    $pdf->SetHTMLHeader('
    <div style="text-align: right; font-weight: bold;">
        My document
    </div>'
    ); 
    Wenn ich das in die "iso_document_default" schreibe, bekommen nur einen Fehler:

    Call to a member function SetHTMLHeader() on null

  12. #12
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    133

    Standard

    Hallo contaouser1,

    ich hab Header und Footer per HTML drin:

    HTML-Code:
    <!--mpdf
    <htmlpageheader name="myheader">
    <div style=" font-family:Roboto,sans-serif;">
    <img src="files/logo.png">
    <p style="text-align:center;">Hier der Header-Text</p></div>
    </htmlpageheader>
    <htmlpagefooter name="myfooter">
    <div style="font-family:Roboto,sans-serif; text-align: center;letter-spacing:0.3em; padding-top:1cm;"> 
    Und noch einiges<br>
    an Footer-Text
    </div>
    </htmlpagefooter>
    <sethtmlpageheader name="myheader" value="on" show-this-page="1" />
    <sethtmlpagefooter name="myfooter" value="on" />
    
    mpdf-->
    Das mit <!--mpdf mpdf--> Auskommentierte wird von mPDF dann ins HTML integriert:
    https://mpdf.github.io/getting-started/html-or-php.html
    mPDF will strip away the <!--mpdf tag and any following spaces, and the $mpdf--> tag and any preceeding spaces, and process all enclosed code e.g.
    Liebe Grüße
    Eva

  13. #13
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    133

    Standard Margins funktionieren nicht mehr

    Hi spooky,

    ich hab auch noch eine Frage:
    meine Margins, die ich in contao/config/config.php mit
    Code:
    \define('PDF_MARGIN_TOP', 50);
    \define('PDF_MARGIN_BOTTOM', 120);
    gesetzt habe, funktionieren nicht mehr.
    Hat sich da beim Update was in der Erweiterung geändert? Muss ich die jetzt anders setzen?

    Liebe Grüße
    Eva

  14. #14
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Ja, das wird nun direkt im Isotope Dokument konfiguriert. Aber da könnte ich noch einen Fallback einbauen.
    » sponsor me via GitHub or PayPal or Revolut

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Teste mal dev-master
    » sponsor me via GitHub or PayPal or Revolut

  16. #16
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    133

    Standard

    Hi spooky,

    noch klappt es nicht.
    Wie wäre es im Template einzutragen?

    Liebe Grüße
    Eva

  17. #17
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Zitat Zitat von vienneva Beitrag anzeigen
    Wie wäre es im Template einzutragen?
    Nicht im Template, in den Einstellungen des Dokuments.
    » sponsor me via GitHub or PayPal or Revolut

  18. #18
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    133

    Standard

    Hm, entweder find ich's nicht, oder ich hab mich missverständlich ausgedrückt:
    In den Dokumenteinstellungen find ich nur die Seitenränder. Ich brauch aber die Margins, damit der Rechnungstext nicht in den Footer hineinläuft.

    LG Eva

  19. #19
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Ja, das sind ja die Seitenränder. Oder sonst weiß ich nicht welche Margins du meinst
    » sponsor me via GitHub or PayPal or Revolut

  20. #20
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    133

    Standard

    Hi spooky,

    danke für Deine Geduld!

    Ich meine dieses margin-bottom:
    https://mpdf.github.io/headers-foote...p-margins.html
    In standard usage, mPDF sets the following:

    margin-top = distance in mm from top of page to start of text (ignoring any headers)
    margin-header = distance in mm from top of page to start of header
    margin-bottom = distance in mm from bottom of page to bottom of text (ignoring any footers)
    margin-footer = distance in mm from bottom of page to bottom of footer

    If you specify a header that extends further down the page than the margin-top, then the header and main text will overlap.
    Beziehungsweise könnte man auch das setzen:
    https://mpdf.github.io/reference/mpd...tommargin.html
    When setAutoBottomMargin is set to 'stretch' then autoMarginPadding defines the minimum distance in mm that will be forced between the top of the footer and the bottom of the main text.
    ... 'stretch'
    margin-bottom sets a minimum distance in mm between the bottom of the page and the bottom of the main text, which expands if the footer is too large to fit.
    Wenn Letzteres das tut, was ich glaube, nämlich flexibel den Raum für den Footer anpassen, so dass der main-Text nie hinein überlappt, dann wäre das ja auch eine ideale default-Einstellung.

    Ich weiß bloß nicht wo/wie ich das einstellen, bzw. die default-Parameter überschreiben kann.

    Liebe Grüße
    Eva

  21. #21
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Zitat Zitat von vienneva Beitrag anzeigen
    Hi spooky,

    danke für Deine Geduld!

    Ich meine dieses margin-bottom:
    https://mpdf.github.io/headers-foote...p-margins.html
    Das sind die Seitenränder, die man im Backend einstellen kann.
    » sponsor me via GitHub or PayPal or Revolut

  22. #22
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    133

    Standard

    Nein, nicht ganz. Leider haben sie die margin-Namen ungünstig gewählt.

    Das ist der untere Seitenrand (Abstand Footer zum Seitenrand):
    margin-footer = distance in mm from bottom of page to bottom of footer

    Aber das hier ist der Abstand des Haupttextes zum unteren Seitenrand, d.h. das ist praktisch der Platz für den Footer, und dieses margin würd ich gerne setzen:
    margin-bottom = distance in mm from bottom of page to bottom of text (ignoring any footers)

    LG Eva

  23. #23
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Schon klar, aber margin-footer wurde bisher von der Extension ohnehin nicht unterstützt. Nur margin-bottom: https://github.com/inspiredminds/con...mplate.php#L71
    Und das ist das, was man nun im Backend setzen kann. Für margin-footer müsstest du das ModifyPdfEvent nutzen (oder anderweitig setzen).
    » sponsor me via GitHub or PayPal or Revolut

  24. #24
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    133

    Standard

    Aaahaaa!

    Jetzt ist es bei mir durch die lange Leitung. Auch durch Ausprobieren. Es ist intutitiv nicht ganz logisch, aber das was man braucht:

    Die Dokumentränder legen bei top und bottom die Ränder des Main-Text fest. D.h. die messen vom Rand bis zum Beginn des Haupttextes, ignorieren aber Header und Footer. Wenn Dein Header also 2,5cm hoch ist, und du stellst beim oberen Dokumentenrand 3 cm ein, dann beginnt Dein Inhalt 0,5 cm unter dem Header. Von unten her funktioniert es analog für den Footer.

    Anders die Dokumentränder rechts und links: Sie sind schon Seitenränder und gelten auch für Header und Footer. Wenn Du die breiter einstellst rücken Footer und Header mit ein.
    Das war der Grund warum ich es nicht gleich verstanden habe.

    Hauptsache jetzt geht es. Danke geduldiger Spooky!

    Liebe Grüße
    Eva

  25. #25
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.900
    Partner-ID
    10107

    Standard

    Funktioniert aber eigentlich genau so wie in Microsoft Word, oder nicht?
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •