Export ohne Benutzerinteraktion mit OCX / VCL und .NET

Gilt ab List & Label 9
Um einen Export ohne Benutzerinteraktion mit dem OCX / VCL / .NET zu realisieren, muss der Print-Option-String (LL_PRNOPTSTR_EXPORT, "PDF") fuer den PDF-Export in einem Event bzw. Callback gesetzt werden, da alle Print-Optionen durch den Aufruf der Print-Methode zurueckgesetzt werden.

Ab List & Label 10 finden Sie im Lieferumfang je ein Beispiel für Delphi, VB und .NET.

Visual Basic

Nachfolgend ein Beispiel für den Export ohne Benutzerinteraktion in VB:
Private Sub ListLabel1_CmndSetPrintOptions(ByVal nUserData As Long, pnPrintMethodOptionFlags As ListLabel.LlCmndSetPrintOptionsConstants)
ListLabel1.LlXSetParameter LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.File", "export.pdf" ' Dateiname
ListLabel1.LlXSetParameter LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Path", "c:\temp" ' Pfad
ListLabel1.LlXSetParameter LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Quiet", "1"
ListLabel1.LlPrintSetOptionString LL_PRNOPTSTR_EXPORT, "PDF"
End Sub 

Delphi

Das gleiche Beispiel in Delphi (Event: OnSetPrintOptions) :
procedure TForm1.ll_1SetPrintOptions(Sender: TObject;
var PrintMethodOptionFlags: Integer);

begin
    LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'Export.File', 'export.pdf');
    LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'Export.Path', 'C:\temp');
    LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'Export.Quiet', '1');
    LL.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, 'PDF');
end;

.NET

In .NET können die benötigten Optionen ab Version 11 sehr bequem über die ExportOptions-Collection gesetzt werden. Das mitgelieferte Beispiel demonstriert dies.

In älteren Versionen muss über das Ereignis DefinePrintOptions zusätzliche Optionen gesetzt werden. Das Ereignis wird intern nach LlPrintWithBoxStart jedoch vor dem eigentlichen Druck ausgelöst. Das Ereignis enthält keine zusätzlichen Ereignisargumente. Beispiel:
private void LL_DefinePrintOptions(object sender, System.EventArgs e)
{
    LL.Core.LlPrintSetOptionString(LlPrintOptionString.Export, "PDF");
    LL.Core.LlXSetParameter(LlExtensionType.Export, "PDF", "Export.File", "export.pdf");
    LL.Core.LlXSetParameter(LlExtensionType.Export, "PDF", "Export.Path", "c:\\temp");
    LL.Core.LlXSetParameter(LlExtensionType.Export, "PDF", "Export.Quiet", "1");
} 


Ab der Version 17 können Sie einen Export ohne Benutzerinteraktion über die Klasse ExportConfiguration und der Methode Export(…) im ListLabel Objekt realisieren. Beispiel:

ExportConfiguration cfg = new ExportConfiguration(LlExportTarget.Pdf, "c:\\temp\export.pdf", "export.lst");
LL.Export(cfg); 


Vgl. auch die Programmierer-Referenz.

IDKBTD000611 KBTD000611