Zwei verschiedene Repors zusammen drucken

20. April 2017 13:58

Hallo,

wie ist es möglich 2 verschiedene Reports auf ein Blatt zu drucken?

Report 1 auf die Vorderseite und Report 2 auf die Rückseite.

Geht das?

Danke und Gruß

NavBeginner

Re: Zwei verschiedene Repors zusammen drucken

20. April 2017 16:09

Hallo,

das kommt darauf an, wie oft du das machen willst. :mrgreen:

wenn du das ein oder zwei mal pro Tag machen willst, dann druckst du zunächst den ersten Report, legst dann das Blatt anders herum in den Einzelblatteinzug, und druckst den zweiten.

Wenn du allerdings auf jedem Beleg diese zweite Seite haben willst und das öfters als 10 mal pro Tag vorkommt, dann muss ich leider sagen, eher nein.
Schon gar nicht, wenn es die AGB auf der Rückseite der ersten von evtl. mehreren Belegseite sein sollen.

Gruß Fiddi

Re: Zwei verschiedene Repors zusammen drucken

24. April 2017 14:01

Hi,

mit der itextsharp dotnet library kannst du auf jeden Fall mehrere Reports zu einem PDF zusammenfügen. Wenn du dann am Drucker auf Duplex stellst, sollte es ja gehen. Evtl. kann man sogar über die library den Druck mit Einstellungen auf einen Drucker durchführen. Das weiß ich aber nicht genau.

Zur Library: https://sourceforge.net/projects/itextsharp/

Du müsstest mit der Standardfunktion saveaspdf die PDFs erstellen und die Dateinamen z.B. in ein Array eintragen und dieses dann an eine Funktion übergeben, welche die vorhadnenen PDFs zusammenführt.

Ein gutes Beispiel für das PDF Zusammenführen (Zwar Dynamics AX, kann man aber gut ableiten.)
https://community.dynamics.com/ax/b/dyn ... single-pdf

Instanzierung der Objekte in Dynamics NAV:
Code:
//stream unterteilt in FileStream und FileMode dotNet Variablen.

pdfDocument := pdfDocument.Document;
pdfCopy := pdfCopy.PdfCopy(pdfDocument,FileStream.FileStream(MergedServerFilename,FileMode.Create)); //MergedServerFilename = Pfad+Dateiname der Ziel PDF
pdfDocument.Open;


Statt while (se.moveNext()) nutzt du dann das Array.
Z.B. WHILE Filenames[i] <> '' DO BEGIN

Re: Zwei verschiedene Repors zusammen drucken

24. April 2017 14:31

Hallo,

ich fürchte NAVBeginner möchte genau das tun, was er beschrieben hat:
Einen Report auf der Vorderseite (Beleg) und einen Report Rückseite(AGB).
Das wird bei einem mehrseitigen Beleg schon sehr lustig, wenn man das per PDF zusammenführen möchte. Mal ganz davon abgesehen, die richtige Anzahl Seiten zu ermitteln.

Gruß Fiddi

Re: Zwei verschiedene Repors zusammen drucken

24. April 2017 16:33

Das es einfach wird, hat ja niemand gesagt :-D
Aber die For Schleife könnte man doch auch so umbauen, dass ein zusätzliches Addpage zwischen jeder Seite gemacht wird. Dieses müsste dann die AGB PDF Seite enthalten.

So vielleicht ?
Code:
pdfReaderAGB := pdfReaderAGB.PdfReader(Filename_AGB_PDF);
pdfPageAGB := pdfCopy.GetImportedPage(pdfReaderAGB, 1);

pdfReader := pdfReader.PdfReader(Filename_PDF);
numberOfPages := pdfReader.NumberOfPages;

FOR pageCount := 1 TO numberOfPages DO BEGIN
    pdfPage := pdfCopy.GetImportedPage(pdfReader, pageCount);
    pdfCopy.AddPage(pdfPage);
    pdfCopy.AddPage(pdfPageAGB);
END;


Nur weiß ich nicht ob das "pdfReader" ausßerhalb der For Schleife auch noch angepasst werden muss.
Zuletzt geändert von Raik Zobel am 12. Oktober 2017 12:59, insgesamt 1-mal geändert.

Re: Zwei verschiedene Repors zusammen drucken

27. April 2017 10:16

Vielen Dank für die Infos!

Es handelt sich tatsächlich um einen Druck von zwei Seiten.
Diese sind fix (Vorderseite - Report 1 und Rückseite - Report 2 jeweils immer dasselbe).

Ich habe leider keinen Plan davon.

Danke und Gruß

Re: Zwei verschiedene Repors zusammen drucken

19. Juli 2017 15:06

Also hat Report 1 und Report 2 jeweils nur eine Seite?

Wenn ja, dann versuche das was ich hier geschrieben habe: viewtopic.php?p=127209#p127209
Damit solltest du ein PDF mit beiden Seiten erhalten. Nun müsstest du noch recherchieren wie du ein PDF an einen Drucker sendest. Schau mal hier, erster Google Eintrag: https://nav-skills.com/2015/12/09/print ... ng-dotnet/

Re: Zwei verschiedene Repors zusammen drucken

19. Juli 2017 15:22

Also hat Report 1 und Report 2 jeweils nur eine Seite?


Nein das ist nicht bekannt.
Er möchte einen Report haben, der Duplexdruck beherrscht, auf den ungeraden Seiten steht der Auftrag/Angebot/Rechnung (und zwar fortlaufend) und auf den geraden Seiten stehen die AGBs und zwar so viele, wie es ungerade Seiten gibt. :mrgreen:

Mit andern Worten, er möchte eine PDF- erstellen, die so aussieht wie auf Firmenpapier: Auf der Vorderseite der Beleg und die Logos und Fußzeilen, auf der Rückseite jeweils die AGBs.

Gruß Fiddi

Re: Zwei verschiedene Repors zusammen drucken

19. Juli 2017 15:33

Anderer Ansatz:

- AGB Seite als PDF im Dateisystem speichern
- Druck des Beleges (beispielsweise Rechnung) immer als PDF
- Zerlegen der PDF in einzelne Seiten. Wird bestimmt auch gehen, wenn zusammenführen funktioniert
- Pro zerlegte Seite die AGB's per PDF Merge anfügen
- Alle PDF-Dateien dann auf den Drucker schicken

Ist sicherlich nicht einfach, aber im RDLC hat man keine Chance das zu realisieren! Alternative ist Briefpapier, sodass die Rückseite mit den AGB's schon vorgedruckt ist. Da ist nur das Problem, dass man dann ein paar Tausend Seiten hat und die AGB's nicht so schnell ändern kann :mrgreen:

Re: Zwei verschiedene Repors zusammen drucken

19. Juli 2017 15:37

Naja, dann würde ich erstmal die iTextsharp Programmierung machen und dann damit so herumexperimentieren, wie ich es in viewtopic.php?p=127215#p127215 geschrieben habe.
Das Zusammenführen von 2 Reports zu einem PDF funktioniert damit auf jeden Fall. Es kann also nicht mehr so schwer sein, da nach jeder Seite den AGB Report dazwischen zu mogeln :mrgreen:

Edit: Die Zusammenführung basiert ja darauf, dass jede einzelne Seite in einer Schleife »angefasst« wird.