Wie exportiere ich PDFs immer als DIN A4 (=Designgröße), auch wenn DIN A5 Drucker als Standard hinterlegt ist?

Wir haben ein Formular, welches in DIN A4 erstellt ist und auch auf DIN A4 gedruckt wird.
Wir liefern standardmäßig keine .lsp-Datei aus, da unsere Kunden verschiedene DIN A4-Drucker haben.

Unsere Software bietet auch an, das Formular als PDF zu erstellen, anstatt zu drucken. Wir erstellen erst eine LL Vorschaudatei, welche wir dann mit LlStgsysConvert als PDF exportieren.

Unsere Hardware hat einen DIN A5 Drucker eingebaut, welcher nur DIN A5 und DIN A6 drucken kann.

In den Drucker-Einstellungen von Windows 10 (Version 22H2) war eingestellt “Windows verwaltet Standarddrucker”.

Manchmal kommt es vor, dass die LL Vorschaudatei und das PDF in DIN A5 erstellt werden.

Ich kann es verlässlich reproduzieren, wenn ich “Windows verwaltet Standarddrucker” deaktiviere und unseren DIN A5 Drucker als Standarddrucker festlege. Die LL Vorschaudatei und das PDF werden dann immer in DIN A5 erstellt.

Wie kann ich beim Erstellen der LL Vorschaudatei erzwingen, dass diese in DIN A4 erstellt wird?

Im Formular ist “Seitenformat erzwingen” auf “Ja” eingestellt.

Ich habe festgestellt, dass wenn eine .lsp-Datei vorhanden ist, dann werden LL Vorschaudatei und PDF korrekt in DIN A4 erstellt. Aber wie bereits erwähnt, wir liefern eigentlich keine .lsp-Dateien aus, da wir nicht wissen welchen Drucker der Kunde hat.

Wir könnten mit LlSetPrinterInPrinterFile den Drucker auf “Microsoft XPS Document Writer” oder “Microsoft Print to PDF” stellen, aber dann würde beim nächsten “richtigen” Drucken dieser vorgeschlagen werden. Zudem existiert “Microsoft XPS Document Writer” nicht auf allen Rechnern.

Gibt es eine Möglichkeit beim Erstellen der LL-Datei zu erzwingen, dass diese in DIN A4 (bzw. der Designgröße vom Formular) erstellt wird?

Bitte mal versuchen, zusätzlich zur bereits gesetzten Eigenschaft “Seitenformat erzwingen”, die Option LL_OPTION_PRN_FORCE_PROJECTSIZE_AS_PAPERSIZE codeseitig testweise mit dem Wert 1 zu setzen. List & Label wird dann versuchen das im Design eingestellte Seitenformat, z. B. DIN A4, möglichst auch für die Ausgabe zu verwenden, sofern keine Druckerdefinitionsdatei vorhanden ist.

#define LL_OPTION_PRN_FORCE_PROJECTSIZE_AS_PAPERSIZE (336)
/* default: 0
   1: if "ForcePaperFormat"=TRUE, do not iterate available paper formats
      and look up a matching one, just put the selected size in the DEVMODE
      structure and hope for the printer to accept it.
*/