Mehrere PDF anhängen

Hallo Gemeinde,

ich bin offenbar zu dumm es zu verstehen.

Die Aufgabe ist eigentlich simpel. Ich hba einen Berichtskontainer “TEXT”. In dem laufen SetVar und GetVar Abfragen für den User. Setzt der die Anfrage 1 auf “ja”, wird im Berichtscontainer “TEXT” ein 5 Seitiger Text erstellt. Daran soll dann ein PDF gehängt weden. Dann kommt Anfrage 2. Sagt der User “ja”, soll hinter die 5 Seiten Text ein weiterer 5seitiger Text und an das erste Pdf soll ein zweites dahinter gehängt werden.

Also habe ich einen 2ten Berichtscontainer mit freiem Inhalt / PDF erstell, weil das PDF eine andere Abmessung (“Vollbild” DINA4) als der Text haben soll.

Ich habe die Ebenen

Basis
Erste Seite
Folgeseiten
Anlagen

weil ich damit getestet habe. Der Beichtscontainer TEXT ist der Ebene BASIS zugeordnet. Die Textseiten werden alle prima hintereinnander je nach Antwort in der Abfrage angefügt.

Den Berichtscontainer “PDF” habe ich auch der BASIS zugeordnet, weil ich dachte, dass das Programm die Container hintereinander setzt. Das klappt leider nicht. Die Ebene B ASIS hat keine Bedingung.
image

Hallo Herr Momberger,

hier empfiehlt es sich alle Tabellen innerhalb eines Berichtscontainers auszugeben und die Position des Berichtscontainer per Formel in Abhängigkeit zur aktuell gedruckten Tabelle anzupassen. Die Voraussetzung dafür ist die Verwendung eines Namen für die Tabelle. Der Name der Tabelle lässt sich dann über die Designerfunktion LL.CurrentContainerItem abfragen. Mit wenigen Schritte erreichen Sie das Ziel:

  1. Fügen Sie in den Berichtscontainer “Text” eine Tabelle mit freien Inhalt hinzu (oder kopieren Sie die Tabelle auf dem Berichtscontainer (PDF).
  2. Benennen Sie die Tabelle für den Text in “TEXT” und die Tabelle mit freien Inhalt in “PDF” um.
  3. Setzen Sie die Eigenschaft “Umbruch vor” für die Tabelle “PDF” auf “Ja”.
  4. Verwenden Sie die folgenden Formeln in den Position-Eigenschaften des Berichtscontainers:

Links:
If(LL.CurrentContainerItem = "TEXT", 15, 0)
Oben:
If(LL.CurrentContainerItem = "TEXT", 15, 0)
Breite:
If(LL.CurrentContainerItem = "TEXT", 180, LL.Device.Page.Size.cx)
Höhe:
If(LL.CurrentContainerItem = "TEXT", 70, LL.Device.Page.Size.cy)

Das Resultat sieht dann wie folgt aus:

Hallo Herr Rauchfuß,

vielen Dank für die Erläuterung und den Ansatz. Wenn ich das richtig verstehe, ist ann aber das anzuhängende PDF genauso groß, wie der Text, da diese größe an der Größe des Containers hängt. So habe ich das bisher auch gelöst aber mit der Folge, dass das PDF nicht die ganze Seite füllt. Das Dokument ist so aufgebaut, dass ein Teil der DIN A4 Seite der Berichtscontainer ist, in dem unser Text steht. OBen rechts steht z.B. ein Logo etc. Ich wollte gerne ein ganzeistiges PDF. Wenn ich das richtig gesehen habe, wird aber dei Version 26 das ganze Thema sehr elegant lösen…

Beste Grüße aus Düsseldorf!

Nein, das verhindern die Formeln für die Positionierung des Berichtscontainers, welche das aktuelle gedruckte Container-Item abfragen. Wichtig ist, dass die PDF einen “Umbruch vor” auslöst. Das “blaue” im Screenshot oben sollte das PDF darstellen (ok, es ist schwer zu erkennen ohne entsprechenden Hinweis). Ich hänge Ihnen einmal den Report mit eingebetteten PDF für die DemoApplikation (Rubrik “Einfache Listen”)

…\combit\LL25\Beispielanwendung\DemoApplication25.exe

report.lst (48,6 KB)

Hallo Herr Rauchfuß,

ich hatte es noch nicht geschafft umzusetzen. Heute habe ich die Zeit gefunden. Hat super geklappt! Vielen Dank!!

2 Likes