rene1976
Goto Top

Footer und Header pro DIN A4 Seite in HTML Reports erzeugen - geht das überhaupt?

Hallo,

ich will in .Net HTML Reports erstellen und diese dem Kunden z.B. per E-Mail als Attachment zur Verfügung stellen.
Der Kunde kann sie dann bequem auf jedem Device öffnen und drucken, so mein Plan.

Jetzt habe ich eine generelle Frage zu mehrseitigen HTML Reports.

Leider ist mir nicht bekannt, wie ich HTML beibringen kann wann eine DIN-A4 Seite zu Ende ist und ein neues Blatt Papier beginnt.

Ich bräuchte Header und Footer auf jedem ausgedruckten Blatt, ggf. der Header der zweiten und folgenden Seiten anders als auf dem Titelblatt.

Ist das mit HTML überhaupt möglich?
HTML produziert soweit ich das bis jetzt kennen "Endlospapier".

Wenn ich manche Webseiten im Internet ausdrucke, dann wird leider oft eine oder mehrere Zeilen am Blattende abgeschnitten.

Das wäre in meinem Fall bei Rechnungen mit Positionen fatal.

Kennt jemand eine .Net Library oder ein HTML Code der richtig und zuverlässig DIN A4 paging auf den wichtigsten Browsern beherrscht?

Alternativ müsste ich wieder PDF-Reports erstellen.
Kennt jemand dafür ein gutes (WYSIWYG-) Tool für Reports bzw. ein kostenlosen oder günstigen Reportgenerator?

Grüße,

Rene

Content-Key: 213408

Url: https://administrator.de/contentid/213408

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: mrtux
mrtux 05.08.2013 aktualisiert um 19:57:52 Uhr
Goto Top
Hi !

Da HTML ursprünglich rein für die Ausgabe auf einem Screen entwickelt wurde, denke ich, müsstest Du das mit Javascript realisieren. Mit reinem HTML wirst Du da keine wirklich browserübergreifend zuverlässige Möglichkeit hinbekommen. Ich habe das bisher nur aus meinen eigenen Applikationen heraus verwendet und eine Textdatei erzeugt, die man dann ausdrucken kann und dabei habe ich mit Delphi/Lazarus andere Möglichkeiten als über einen Web-Browser.

Als Reportgenerator kann ich Dir Fastreport .Net empfehlen, der ist aber kostenpflichtig.

mrtux
Mitglied: colinardo
colinardo 06.08.2013, aktualisiert am 30.09.2018 um 11:01:05 Uhr
Goto Top
Hallo Rene,
du kannst in deinem HTML-Dokument via CSS einen Media-Type angeben, so dass das Dokument beim Drucken entsprechend formatiert wird. Siehe dazu eine
Öffne die Seite mit der Druckvorschau und du wirst sehen das z.B. nach jeder Fußzeile ein Seitenumbruch eingefügt wurde. Das CSS gibst du in einem Media-Query für Print-Medien ein
<style type="text/css">  
@media print{
  /* .. hier das CSS für die Druckausgabe ...*/
}
</style>
Vielleicht hilft dir das weiter.

Grüße Uwe
Mitglied: Rene1976
Rene1976 06.08.2013 um 17:43:12 Uhr
Goto Top
Hi Uwe,

dein mitgeschicktes Beispiel sieht gut aus.
Das Beispiel hat eine feste Textlänge und die Seiten sind nur halb mit Text befüllt.
Der Text passt wahrscheinlich egal ob DIN A4 oder A5.

Ich muss aber Rechnungspositionen auflisten und die Seite vollschreiben.
Was passiert, wenn eine oder mehrere Positionen einen unerwarteten Zeilenumbruch produzieren?
Dadurch wird der "Body" Text plötzlich länger und passt ggf. nicht mehr auf eine Seite.
Den Footer wird es dementsprechend auch versetzen weil er keine feste Position hat, sondern immer nach einen bestimmten Absatz eingefügt wird, oder?

Besser wäre, wenn der Footer automatisch ab einer bestimmten Höhe von links oben gerechnet eingefügt würde und der "zerhackte" Absatz dann auf der nächsten Seite nach dem Header weiter läuft. Das ist wahrscheinlich nicht so einfach möglich.

Hast du schon irgendwelche Erfahrungen diesbezüglich gesammelt?

Rene
Mitglied: colinardo
colinardo 07.08.2013 um 08:49:15 Uhr
Goto Top
habe in dieser Hinsicht für die Druckausgabe noch nicht sehr viel gemacht aber so wie ich das sehe müsste das machbar sein. Werde das bei Zeiten mal testen ...
Gruß Uwe
Mitglied: colinardo
colinardo 07.08.2013 aktualisiert um 17:07:59 Uhr
Goto Top
Hab mal ausgelotet was möglich ist und muss sagen, dass das mehr als unzufrieden funktioniert. Erst ab CSS3 kommen langsam Attribute zu CSS hinzu die sich mehr um das Thema Druckausgabe kümmern. Da jedoch z.B. Seitenränder bei den Clients unterschiedlich eingestellt sein können, ist das ein Horror.
Also doch besser auf einen spezialisierten Reportgenerator ausweichen:

- oder das ReportViewer-Control von Microsoft nutzen.
- hier gibt es auch noch Interessante OpenSource-Projekte: http://www.fyireporting.com/ und hier http://sharpdevelopreports.net/default.aspx?AspxAutoDetectCookieSupport ...

Grüße Uwe
Mitglied: Rene1976
Rene1976 07.08.2013 um 19:05:09 Uhr
Goto Top
Hi Uwe,

an diese Grenzen bin ich mit meiner Recherche leider auch schon gestoßen.
Ich schaue mich auch gerade parallel nach Report Generatoren um.

Danke für deine Links.

Grüße,

Rene
Mitglied: mrtux
mrtux 07.08.2013 aktualisiert um 23:21:03 Uhr
Goto Top
Hi !

Naja ihr Blitzmerker eigentlich schloss mein Kommentar bezüglich HTML natürlich auch CSS mit ein, denn damit hatte ich selbstverständlich auch schon herumgebastelt und bin an der selben Stelle gescheitert...Die Zeit und Enttäuschung wollte ich euch eigentlich ersparen....aber gut...Erfahrungen sind ja nur welche wenn man sie selbst macht... ;-P

mrtux