Export ohne Benutzerinteraktion direkt über die API

Gilt ab List & Label 15
Um einen Export ohne Benutzerinteraktion direkt über die List & Label API - also nicht über eine der Komponenten (OCX, VCL oder .NET) - zu realisieren, müssen die entsprechenden Exportoptionen gesetzt werden. Im Folgenden wird dies anhand eines stillen Exports nach PDF (in C++) gezeigt:
// Setzen der Export Parameter
// wir exportieren eine PDF-Datei mit dem Namen "export.pdf" in das Verzeichnis "c:\users\public" ohne Dialogfenster
::LlXSetParameter(m_hLlJob, LL_LLX_EXTENSIONTYPE_EXPORT, _T("PDF"), _T("Export.File"), _T("export.pdf"));
::LlXSetParameter(m_hLlJob, LL_LLX_EXTENSIONTYPE_EXPORT, _T("PDF"), _T("Export.Path"), _T("c:\\users\\public\\"));
::LlXSetParameter(m_hLlJob, LL_LLX_EXTENSIONTYPE_EXPORT, _T("PDF"), _T("Export.Quiet"), _T("1"));

// Druck starten ohne den Fortschrittsbalken
if(::LlPrintStart(m_hLlJob, LL_PROJECT_LIST, sFileName, LL_PRINT_EXPORT, 0) < 0)
return; // Fehler

// Setzen des Exportformats PDF
::LlPrintSetOptionString(m_hLlJob, LL_PRNOPTSTR_EXPORT, "PDF");

// Jetzt kommt die normale Druckschleife mit ::LlPrint(), ::LlPrintFields(), ::LlPrintEnd() etc. 


Hinweis
Erst ab List & Label Version 16 ist es auch über den gleichen Mechanismus möglich ohne jegliche Benutzerinteraktion eine Vorschaudatei (*.ll) zu erzeugen (davor musste LL_OPTIONSTR_PREVIEWFILENAME verwendet werden). Es ist im Prinzip der gleiche Code, wie er auch für die anderen Exportformate verwendet werden kann. Lediglich das Exportformat muss auf “PRV” gesetzt werden:

// Setzen der Export Parameter
// wir exportieren eine Vorschau-Datei mit dem Namen "export.ll" in das Verzeichnis "c:\users\public" ohne Dialogfenster
::LlXSetParameter(m_hLlJob, LL_LLX_EXTENSIONTYPE_EXPORT, _T("PRV"), _T("Export.File"), _T("export.ll"));
::LlXSetParameter(m_hLlJob, LL_LLX_EXTENSIONTYPE_EXPORT, _T("PRV"), _T("Export.Path"), _T("c:\\users\\public\\"));
::LlXSetParameter(m_hLlJob, LL_LLX_EXTENSIONTYPE_EXPORT, _T("PRV"), _T("Export.Quiet"), _T("1"));

// Druck starten ohne den Fortschrittsbalken
if(::LlPrintStart(m_hLlJob, LL_PROJECT_LIST, sFileName, LL_PRINT_EXPORT, 0) < 0)
return; // Fehler

// Setzen des Exportformats Vorschau
::LlPrintSetOptionString(m_hLlJob, LL_PRNOPTSTR_EXPORT, "PRV");

// Jetzt kommt die normale Druckschleife mit ::LlPrint(), ::LlPrintFields(), ::LlPrintEnd() etc. 

Verwandte Artikel:

KBTD000611
IDKBTD000779 KBTD000779