Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Nach der eigentlichen Dokumentgenerierung können Commands aufgerufen werden.
Gewisse Commands können nur im Erfolgsfall verwendet werden.

Verfügbare Commands

Command

Beschreibung

Nur im “Success”-Fall

Client

Server

DefaultProcess

Startet den OpenFile

Öffnet Office-Dateien mit dem Standardprozess, der in Windows für den Dateityp registriert ist

ConvertToPdf

Konvertiert Vorlagen oder Dokumente (.dotx/.docx) in PDF (.pdf)

SaveAsSaveFile

Speichert das Dokument am angegebenen Zielort im angegebenen Format.

CreateConnectResult

Erstellt eine primedocs-Connect-Result-Datei

InvokeProcess

Ruft ein externes Programm auf. Aus Sicherheitsgründen muss der Prozess vorher konfiguriert werden.

...

...

SaveFile (Client-Only)

Dieser Befehl startet den DefaultProcess, der in Windows für den generierten Dateityp registriert ist. Dieser Aufruf funktioniert nur über den ClientSpeichert das Dokument am angegebenen Zielort.

Möglicher Parameter:

  • StartFilename: Absoluter Pfad mit Dateiendung

  • Overwrite: True/False, bei False wird der Prozess nicht gestartet; gibt an, ob eine bestehende Datei überschrieben werden soll.

  • CreateFolder: True/False; gibt an, ob Ordner, die im Filename angegeben sind, erstellt werden sollen.

Code Block
languagexml
<primedocsConnect>
  ...
  <Commands>
    <OnSuccess>
      <DefaultProcess<SaveFile StartFilename="true" />\\MyServer\share\organization\...\documentxyz.docx"
           </OnSuccess>   </Commands> </primedocsConnect>

CreateConnectResult (Client-Only)

Über dieses Command wird nach Abschluss der gesamten Dokumenterstellung eine Datei im XML-Format mit einer Zusammenfassung erstellt.

...

languagexml

...

 Overwrite="true"
         

...

       

...

CreateFolder="true" />
    </OnSuccess>
  </Commands>
</primedocsConnect>

Speicherort

Die Datei wird im gleichen Ordner erstellt wie das aufrufende Connect nach diesem Namensschema:

result_{Datei-Name-der-Connect-Datei}_{DateTime.Now:yyyyMMddHHmmssfff}.xml

...

Info

Wird als Dateiendung .pdf oder .xps angegeben, wird die Datei über Office automatisch in das Zielformat konvertiert.

...

OpenFile (Client-Only)

Öffnet Office-Dateien mit dem Standardproess, der in Windows für den Dateityp registriert ist.

Szenario ist, z.B. die generierte Datei wird an einem bestimmten Pfad gespeichert und soll hinterher im Word weiterbearbeitet werden.

Möglicher Parameter:

  • Filename: Absoluter Pfad mit Dateiendung

Code Block
languagexml
<?xml version="1.0" encoding="utf-8"?>
<PrimeDocsConnectResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><primedocsConnect>
  ...
  <Commands>
     <InputFile>O:\Templates\Template_Kurzmitteilung.pdcx</InputFile><OnSuccess>
     <Result>Success</Result>
</PrimeDocsConnectResult>

Im Fehlerfall steht in der Datei zusätzlich eine Fehlermeldung inkl. StackTrace von primedocs (sofern möglich):

Code Block
languagexml
<?xml version="1.0" encoding="utf-8"?>
<PrimeDocsConnectResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- Szenario: -->
       <InputFile>O:\Templates\Template_Kurzmitteilung.pdcx</InputFile>
    <Result>Error</Result>
    <Message>System.UnauthorizedAccessException: Der Zugriff auf den Pfad "c:\temp" wurde verweigert.<SaveFile Filename="\\MyServer\share\organization\...\documentxyz.docx"
          bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)  Overwrite="true"
     bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, ...)
 CreateFolder="true" />
      bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
       bei ...
    </Message>
</PrimeDocsConnectResult>

SaveAs (Client-Only)

Speichert das Dokument am angegebenen Zielort. Der neue Dateispeicherort wird für alle folgenden Befehle berücksichtigt (z. B. im DefaultProcess).

Möglicher Parameter:

  • Filename: Absoluter Pfad mit Dateiendung

  • Overwrite: True/False; gibt an, ob eine bestehende Datei überschrieben werden soll.

  • CreateFolder: True/False; gibt an, ob Ordner, die im Filename angegeben sind, erstellt werden sollen.

  • AllowUpdateDocumentPart: True/False; bei "True" wird der primedocs Document Part als "SavedDocument" anstatt "NewDocument" markiert.

  • CopyOnly: True/False; wird diese Einstellung getroffen, wird das Dokument im aktuellen Stand als Kopie abgespeichert. Im Client-Anwendungsfall wird die Datei trotzdem z. B. weiterhin als "Vorlage (.dotx)" behandelt und im Temp-Ordner erstellt und von dieser Datei Microsoft Word geöffnet.

Code Block
languagexml
<primedocsConnect>
  ...
  <Commands>
    <OnSuccess>
      <SaveAs Filename="\\MyServer\share\organization\...\documentxyz.docx"
              Overwrite="true"
              CreateFolder="true"
              CopyOnly="true" />
    </OnSuccess>
  </Commands>
</primedocsConnect>

ConvertToPdf (Client & Server)

Dieser Befehl gilt nur für Word Office-Dokumente. primedocs konvertiert das Dokument direkt in ein PDF.

xml
Code Block
language
<OpenFile Filename="\\MyServer\share\organization\...\documentxyz.docx"/>      
    </OnSuccess>
  </Commands>
</primedocsConnect>

...

InvokeProcess (Client-Only)

Im Dashboard müssen die zulässigen Applikationen zuerst whitelisted werden. Die Konfiguration dafür kann unter Settings → Connect Settings → InvokeProcess - Configuration gefunden werden und sieht ansatzweise wie folgt aus:

Code Block
<CommandConfig>
    <Process name="OurSystemNotepad" executablePath="%systemroot%/notepad.exe" />
    <Process name="..." executablePath="..." />
</CommandConfig>

Der Aufruf in der Connect-Datei muss mit dem Namen einer zuvor im Dashboard freigegebenen Applikation übereinstimmen.

Möglicher Parameter:

  • Name: Konfigurierter Prozessname

  • Arguments: Argumente für den Prozessaufruf

Der Aufruf kann optional Argumente enthalten und sieht folgendermassen aus:

Code Block
<primedocsConnect>
  ...
  <Commands>
    <OnSuccess>
      <ConvertToPdf<InvokeProcess Name="OurSystemNotepad" />    
    </OnSuccess>
  </Commands>
</primedocsConnect>

Nicht alle Open XML bzw. Microsoft Word Features sind bei der PDF-Konvertierung über diesen Command unterstützt. Als Alternative gibt es im Client die Möglichkeit über den SaveAs-Command das installierte Microsoft Office für die PDF-Konvertierung zu benutzen.

...