Mehrere Projekte in ein PDF drucken

Hallo,

ich arbeite mit LL14 unter .NET. Ich möchte nun eine Art “heterogenen Report” drucken, also ein aus mehreren verschiedenen Projekten bestehenden Report (Art Stapeldruck?). Bei einem Drucker kann ich natürlich einfach mehrmals ll.Print (…) aufrufen. Dass das mehrere Druckeraufträge sind, fällt ja nicht unbedingt auf. Beim Druck in ein PDF würden dann allerdings mehrere Dateien anfallen, was ich vermeiden will.

Es gibt ja generell außer dem kompletten “Print (… filename …)” auch “PrintStart ()” und “PrintEnd ()”, zwischen denen man mehrere Projekte drucken kann. Unter .NET scheint es diese Möglichkeit allerdings nicht zu geben, ohne dass man auf eine einzige Projektdatei beschränkt ist (PrintStart hat u.a. als Argument “Projektname”).

Wie kann ich das unter .NET bewerkstelligen?

Viele Grüße
Alex

  • mehrere LL-Dateien erzeugen (eine für jeden Druck)
  • diese über die LlStgsys()-API aneinanderhängen
  • über LlStgsysStorageConvert() in PDF exportieren

Mit .NET? Keinen Schimmer - geht aber sicher auch :wink:

Paulchen

“Alexander Ziegler” <mail03@alex-ziegl…> wrote in message
news:3476822201012619@combit.net…

Hallo,

ich arbeite mit LL14 unter .NET. Ich möchte nun eine Art
“heterogenen Report” drucken, also ein aus mehreren verschiedenen
Projekten bestehenden Report (Art Stapeldruck?). Bei einem Drucker
kann ich natürlich einfach mehrmals ll.Print (…) aufrufen. Dass
das mehrere Druckeraufträge sind, fällt ja nicht unbedingt auf. Beim
Druck in ein PDF würden dann allerdings mehrere Dateien anfallen,
was ich vermeiden will.

Es gibt ja generell außer dem kompletten “Print (… filename …)”
auch “PrintStart ()” und “PrintEnd ()”, zwischen denen man mehrere
Projekte drucken kann. Unter .NET scheint es diese Möglichkeit
allerdings nicht zu geben, ohne dass man auf eine einzige
Projektdatei beschränkt ist (PrintStart hat u.a. als Argument
“Projektname”).

Wie kann ich das unter .NET bewerkstelligen?

Viele Grüße
Alex

Danke, das hat funktioniert!!

Für alle, die’s interessiert:

{
int h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, String.Empty, false, true);
int h2 = Core.LlStgsysStorageOpen (@“C:\preview2.ll”, String.Empty, false, true);
Core.LlStgsysAppend (h1, h2);
Core.LlStgsysStorageClose (h1);
Core.LlStgsysStorageClose (h2);

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);
Core.LlStgsysConvert (h1, @“C:\preview.pdf”, “PDF”);
Core.LlStgsysStorageClose (h2);
}

  • mehrere LL-Dateien erzeugen (eine für jeden Druck)
  • diese über die LlStgsys()-API aneinanderhängen
  • über LlStgsysStorageConvert() in PDF exportieren

Mit .NET? Keinen Schimmer - geht aber sicher auch :wink:

Paulchen

“Alexander Ziegler” <mail03@alex-ziegl…> wrote in message
news:3476822201012619@combit.net…

Hallo,

ich arbeite mit LL14 unter .NET. Ich möchte nun eine Art
“heterogenen Report” drucken, also ein aus mehreren verschiedenen
Projekten bestehenden Report (Art Stapeldruck?). Bei einem Drucker
kann ich natürlich einfach mehrmals ll.Print (…) aufrufen. Dass
das mehrere Druckeraufträge sind, fällt ja nicht unbedingt auf. Beim
Druck in ein PDF würden dann allerdings mehrere Dateien anfallen,
was ich vermeiden will.

Es gibt ja generell außer dem kompletten “Print (… filename …)”
auch “PrintStart ()” und “PrintEnd ()”, zwischen denen man mehrere
Projekte drucken kann. Unter .NET scheint es diese Möglichkeit
allerdings nicht zu geben, ohne dass man auf eine einzige
Projektdatei beschränkt ist (PrintStart hat u.a. als Argument
“Projektname”).

Wie kann ich das unter .NET bewerkstelligen?

Viele Grüße
Alex

Am 02.02.2010 16:37, schrieb Alexander Ziegler:

Danke, das hat funktioniert!!

Für alle, die’s interessiert:

{
int h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, String.Empty, false, true);
int h2 = Core.LlStgsysStorageOpen (@“C:\preview2.ll”, String.Empty, false, true);
Core.LlStgsysAppend (h1, h2);
Core.LlStgsysStorageClose (h1);
Core.LlStgsysStorageClose (h2);

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);
Core.LlStgsysConvert (h1, @“C:\preview.pdf”, “PDF”);
Core.LlStgsysStorageClose (h2);
}

  • mehrere LL-Dateien erzeugen (eine für jeden Druck)
  • diese über die LlStgsys()-API aneinanderhängen
  • über LlStgsysStorageConvert() in PDF exportieren

Mit .NET? Keinen Schimmer - geht aber sicher auch :wink:

Paulchen

“Alexander Ziegler”<mail03@alex-ziegl…> wrote in message
news:3476822201012619@combit.net…

Hallo,

ich arbeite mit LL14 unter .NET. Ich möchte nun eine Art
“heterogenen Report” drucken, also ein aus mehreren verschiedenen
Projekten bestehenden Report (Art Stapeldruck?). Bei einem Drucker
kann ich natürlich einfach mehrmals ll.Print (…) aufrufen. Dass
das mehrere Druckeraufträge sind, fällt ja nicht unbedingt auf. Beim
Druck in ein PDF würden dann allerdings mehrere Dateien anfallen,
was ich vermeiden will.

Es gibt ja generell außer dem kompletten “Print (… filename …)”
auch “PrintStart ()” und “PrintEnd ()”, zwischen denen man mehrere
Projekte drucken kann. Unter .NET scheint es diese Möglichkeit
allerdings nicht zu geben, ohne dass man auf eine einzige
Projektdatei beschränkt ist (PrintStart hat u.a. als Argument
“Projektname”).

Wie kann ich das unter .NET bewerkstelligen?

Viele Grüße
Alex

Hallo,

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);
Core.LlStgsysConvert (h1, @“C:\preview.pdf”, “PDF”);
Core.LlStgsysStorageClose (h2);
}

müsste die letzte Zeile nicht

Core.LlStgsysStorageClose (h1);

heißen?

Schöne Grüße

Lars

… oder auch:

int h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, String.Empty,
false, true);
int h2 = Core.LlStgsysStorageOpen (@“C:\preview2.ll”, String.Empty,
false, true);
Core.LlStgsysAppend (h1, h2);
Core.LlStgsysStorageClose (h2);

Core.LlStgsysConvert (h1, @“C:\preview.pdf”, “PDF”);
Core.LlStgsysStorageClose (h1);

oder geht diese Abkürzung nicht?

…nach Performance strebendes Paulchen

Ich habe beide offen gelassen und direkt versucht, das PDF auszudrucken, aber dabei wurde irgendwie die vorherige Version der Datei benutzt, ohne angehängten Rest. Also scheint das nicht zu gehen.

Ich hab’s dann nicht weiter versucht.

Alex

P.S.: Die Rechenaufgaben zur Spamvermeidung werden langsam kompliziert, zumindest für Programmierer, die davon leben, nicht kopfrechnen zu müssen… :wink:

… oder auch:

int h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, String.Empty,
false, true);
int h2 = Core.LlStgsysStorageOpen (@“C:\preview2.ll”, String.Empty,
false, true);
Core.LlStgsysAppend (h1, h2);
Core.LlStgsysStorageClose (h2);

Core.LlStgsysConvert (h1, @“C:\preview.pdf”, “PDF”);
Core.LlStgsysStorageClose (h1);

oder geht diese Abkürzung nicht?

…nach Performance strebendes Paulchen

Hast natürlich Recht, danke für den Hinweis!

Am 02.02.2010 16:37, schrieb Alexander Ziegler:

Danke, das hat funktioniert!!

Für alle, die’s interessiert:

{
int h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, String.Empty, false, true);
int h2 = Core.LlStgsysStorageOpen (@“C:\preview2.ll”, String.Empty, false, true);
Core.LlStgsysAppend (h1, h2);
Core.LlStgsysStorageClose (h1);
Core.LlStgsysStorageClose (h2);

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);
Core.LlStgsysConvert (h1, @“C:\preview.pdf”, “PDF”);
Core.LlStgsysStorageClose (h2);
}

  • mehrere LL-Dateien erzeugen (eine für jeden Druck)
  • diese über die LlStgsys()-API aneinanderhängen
  • über LlStgsysStorageConvert() in PDF exportieren

Mit .NET? Keinen Schimmer - geht aber sicher auch :wink:

Paulchen

“Alexander Ziegler”<mail03@alex-ziegl…> wrote in message
news:3476822201012619@combit.net…

Hallo,

ich arbeite mit LL14 unter .NET. Ich möchte nun eine Art
“heterogenen Report” drucken, also ein aus mehreren verschiedenen
Projekten bestehenden Report (Art Stapeldruck?). Bei einem Drucker
kann ich natürlich einfach mehrmals ll.Print (…) aufrufen. Dass
das mehrere Druckeraufträge sind, fällt ja nicht unbedingt auf. Beim
Druck in ein PDF würden dann allerdings mehrere Dateien anfallen,
was ich vermeiden will.

Es gibt ja generell außer dem kompletten “Print (… filename …)”
auch “PrintStart ()” und “PrintEnd ()”, zwischen denen man mehrere
Projekte drucken kann. Unter .NET scheint es diese Möglichkeit
allerdings nicht zu geben, ohne dass man auf eine einzige
Projektdatei beschränkt ist (PrintStart hat u.a. als Argument
“Projektname”).

Wie kann ich das unter .NET bewerkstelligen?

Viele Grüße
Alex

Hallo,

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);
Core.LlStgsysConvert (h1, @“C:\preview.pdf”, “PDF”);
Core.LlStgsysStorageClose (h2);
}

müsste die letzte Zeile nicht

Core.LlStgsysStorageClose (h1);

heißen?

Schöne Grüße

Lars

Hallo Leute,

ich sitz seit Freitag vor diesem Problem … irgendwie steh ich ganz schön auf der Leitung.
Das mit dem Zusammenfügen der einzelnen Vorschaudatein ist mit schon klar. Aber wie erstelle ich die Vorchaudatei (.ll)?

Kann mir von Euch jemand kurz weiter helfen?

Danke schon mal im Voraus.

Markus

  • mehrere LL-Dateien erzeugen (eine für jeden Druck)
  • diese über die LlStgsys()-API aneinanderhängen
  • über LlStgsysStorageConvert() in PDF exportieren

Mit .NET? Keinen Schimmer - geht aber sicher auch :wink:

Paulchen

“Alexander Ziegler” <mail03@alex-ziegl…> wrote in message
news:3476822201012619@combit.net…

Hallo,

ich arbeite mit LL14 unter .NET. Ich möchte nun eine Art
“heterogenen Report” drucken, also ein aus mehreren verschiedenen
Projekten bestehenden Report (Art Stapeldruck?). Bei einem Drucker
kann ich natürlich einfach mehrmals ll.Print (…) aufrufen. Dass
das mehrere Druckeraufträge sind, fällt ja nicht unbedingt auf. Beim
Druck in ein PDF würden dann allerdings mehrere Dateien anfallen,
was ich vermeiden will.

Es gibt ja generell außer dem kompletten “Print (… filename …)”
auch “PrintStart ()” und “PrintEnd ()”, zwischen denen man mehrere
Projekte drucken kann. Unter .NET scheint es diese Möglichkeit
allerdings nicht zu geben, ohne dass man auf eine einzige
Projektdatei beschränkt ist (PrintStart hat u.a. als Argument
“Projektname”).

Wie kann ich das unter .NET bewerkstelligen?

Viele Grüße
Alex

Am 08.02.2010 09:00, schrieb Markus:

Hallo Leute,

ich sitz seit Freitag vor diesem Problem … irgendwie steh ich ganz schön auf der Leitung.
Das mit dem Zusammenfügen der einzelnen Vorschaudatein ist mit schon klar. Aber wie erstelle ich die Vorchaudatei (.ll)?

Kann mir von Euch jemand kurz weiter helfen?

Danke schon mal im Voraus.

Markus

Hallo Markus,

ich weiß nicht, ob ich Deine Frage jetzt richtig verstanden habe:

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);

Die gesamte Vorschaudatei Deiner zusammengefügten Druckaufträge hast Du
doch mit dem obigen Befehl erstellt. Im diesem Fall ist die
Vorschaudatei unter C:\preview1.ll zu finden.

Schöne Grüße

Lars

Hallo Lars,

danke für Deine Antwort. Ich denke, wie ich die Aufträge zusammen führe bekomme ich hin ;o) mir gehts jetzt um das Erstellen der einzelnen Vorschaudatein.

Bsp.: ich hab drei Reports, wie erstelle ich jetzt die Vorschaudatei von Report 1, Report 2, Report 3.

Ich brauche die Datei “c:\preview1.ll” … wo bekomme ich die her?

Danke, Markus

Am 08.02.2010 09:00, schrieb Markus:

Hallo Leute,

ich sitz seit Freitag vor diesem Problem … irgendwie steh ich ganz schön auf der Leitung.
Das mit dem Zusammenfügen der einzelnen Vorschaudatein ist mit schon klar. Aber wie erstelle ich die Vorchaudatei (.ll)?

Kann mir von Euch jemand kurz weiter helfen?

Danke schon mal im Voraus.

Markus

Hallo Markus,

ich weiß nicht, ob ich Deine Frage jetzt richtig verstanden habe:

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);

Die gesamte Vorschaudatei Deiner zusammengefügten Druckaufträge hast Du
doch mit dem obigen Befehl erstellt. Im diesem Fall ist die
Vorschaudatei unter C:\preview1.ll zu finden.

Schöne Grüße

Lars

Am 08.02.2010 14:06, schrieb Markus Renezeder:

Hallo Lars,

danke für Deine Antwort. Ich denke, wie ich die Aufträge zusammen führe bekomme ich hin ;o) mir gehts jetzt um das Erstellen der einzelnen Vorschaudatein.

Bsp.: ich hab drei Reports, wie erstelle ich jetzt die Vorschaudatei von Report 1, Report 2, Report 3.

Ich brauche die Datei “c:\preview1.ll” … wo bekomme ich die her?

Danke, Markus

Am 08.02.2010 09:00, schrieb Markus:

Hallo Leute,

ich sitz seit Freitag vor diesem Problem … irgendwie steh ich ganz schön auf der Leitung.
Das mit dem Zusammenfügen der einzelnen Vorschaudatein ist mit schon klar. Aber wie erstelle ich die Vorchaudatei (.ll)?

Kann mir von Euch jemand kurz weiter helfen?

Danke schon mal im Voraus.

Markus

Hallo Markus,

ich weiß nicht, ob ich Deine Frage jetzt richtig verstanden habe:

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);

Die gesamte Vorschaudatei Deiner zusammengefügten Druckaufträge hast Du
doch mit dem obigen Befehl erstellt. Im diesem Fall ist die
Vorschaudatei unter C:\preview1.ll zu finden.

Schöne Grüße

Lars

Hallo Markus,

danke für Deine Antwort. Ich denke, wie ich die Aufträge zusammen führe bekomme ich hin ;o)

Das Zusammenfügen der Aufträge geschieht doch über die einzelnen
Vorschaudateien. Wenn Du schreibst, dass das Zusammenfügen bei Dir
funktioniert, dann müssen die Vorschaudateien auch schon vorhanden sein.

Wenn Du das Beispiel von Alexander nimmst, hast Du in den beiden ersten
Zeilen Deine Vorschaudateien preview1.ll und preview2.ll schon auf
Laufwerk c: erstellt. Mit

Core.LlStgsysAppend (h1, h2);

fügst Du sie dann zu einer Datei zusammen. D.h., wenn das Zusammenfügen
funktioniert, hast Du die einzelnen Vorschaudateien doch schon.

int h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, String.Empty, false, true);
int h2 = Core.LlStgsysStorageOpen (@“C:\preview2.ll”, String.Empty, false, true);
Core.LlStgsysAppend (h1, h2);
Core.LlStgsysStorageClose (h1);
Core.LlStgsysStorageClose (h2);

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);
Core.LlStgsysConvert (h1, @“C:\preview.pdf”, “PDF”);
Core.LlStgsysStorageClose (h2);
}

Poste doch bitte mal den Quellcode. Vielleicht können wir dann besser
helfen.

Grüße

Lars

Hallo Lars,

ich glaube ich hab mich ein wenig unverständlich ausgedrückt. Ich meinte, ich kann die Vorschaudatein nicht zusammen fügen, weil ich sie nicht habe. Ich weiß, wie das Zusammenfügen funktioniert, das hab ich jetz schon einige Male gelesen. Ich weiß nur nicht, wie ich aus einem Report eine Vorschaudatei erstellen kann. Ich weiß, dass man mit

LL.Print(…) eine .ll-Datei bekommt, aber ich will den Report ja nicht ausdrucken sondern nur als .ll speichern. Ich will auch keine Vorschau. Ich möchte meine Ausdrucke als .ll-Datei speichern.

Grüße, Markus

Am 08.02.2010 14:06, schrieb Markus Renezeder:

Hallo Lars,

danke für Deine Antwort. Ich denke, wie ich die Aufträge zusammen führe bekomme ich hin ;o) mir gehts jetzt um das Erstellen der einzelnen Vorschaudatein.

Bsp.: ich hab drei Reports, wie erstelle ich jetzt die Vorschaudatei von Report 1, Report 2, Report 3.

Ich brauche die Datei “c:\preview1.ll” … wo bekomme ich die her?

Danke, Markus

Am 08.02.2010 09:00, schrieb Markus:

Hallo Leute,

ich sitz seit Freitag vor diesem Problem … irgendwie steh ich ganz schön auf der Leitung.
Das mit dem Zusammenfügen der einzelnen Vorschaudatein ist mit schon klar. Aber wie erstelle ich die Vorchaudatei (.ll)?

Kann mir von Euch jemand kurz weiter helfen?

Danke schon mal im Voraus.

Markus

Hallo Markus,

ich weiß nicht, ob ich Deine Frage jetzt richtig verstanden habe:

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);

Die gesamte Vorschaudatei Deiner zusammengefügten Druckaufträge hast Du
doch mit dem obigen Befehl erstellt. Im diesem Fall ist die
Vorschaudatei unter C:\preview1.ll zu finden.

Schöne Grüße

Lars

Hallo Markus,

danke für Deine Antwort. Ich denke, wie ich die Aufträge zusammen führe bekomme ich hin ;o)

Das Zusammenfügen der Aufträge geschieht doch über die einzelnen
Vorschaudateien. Wenn Du schreibst, dass das Zusammenfügen bei Dir
funktioniert, dann müssen die Vorschaudateien auch schon vorhanden sein.

Wenn Du das Beispiel von Alexander nimmst, hast Du in den beiden ersten
Zeilen Deine Vorschaudateien preview1.ll und preview2.ll schon auf
Laufwerk c: erstellt. Mit

Core.LlStgsysAppend (h1, h2);

fügst Du sie dann zu einer Datei zusammen. D.h., wenn das Zusammenfügen
funktioniert, hast Du die einzelnen Vorschaudateien doch schon.

int h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, String.Empty, false, true);
int h2 = Core.LlStgsysStorageOpen (@“C:\preview2.ll”, String.Empty, false, true);
Core.LlStgsysAppend (h1, h2);
Core.LlStgsysStorageClose (h1);
Core.LlStgsysStorageClose (h2);

h1 = Core.LlStgsysStorageOpen (@“C:\preview1.ll”, “”, false, true);
Core.LlStgsysConvert (h1, @“C:\preview.pdf”, “PDF”);
Core.LlStgsysStorageClose (h2);
}

Poste doch bitte mal den Quellcode. Vielleicht können wir dann besser
helfen.

Grüße

Lars