Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »


Commands sind Instruktionen, die sequentiell nach Erreichen von vordefinierten Zwischenergebnissen oder Ereignissen ausgeführt werden. Die Befehle können teilweise nur beim Server- oder Client-Aufruf verfügbar sein. Es wird grundsätzlich zwischen zwei Command-Ebenen unterschieden:

DocumentCommands Document-Commands werden pro Dokument ausgeführt, direkt nach Erstellung des jeweiligen Dokuments.

BatchCommands Batch-Commands werden auf der höchsten Ebene ausgeführt, nachdem alle Document-Commands der einzelnen Entries ausgeführt wurden.


Verfügbarkeit aller Commands

Command

Beschreibung

Document

Batch

Client

Server

DefaultProcess

Startet den Standardprozess, der in Windows für den Dateityp registriert ist

ConvertToDocument

Konvertiert Office-Vorlagen (.dotx, etc.) in Office-Dokumente (.docx, etc.)

ConvertToPdf

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

✓*

Print

Sendet das Dokument an den Standarddrucker

SaveAs

Speichert das Dokument am angegebenen Zielort im angegebenen Format

✓*

UpdateFieldsOnOpen

Aktualisiert Felder und das Inhaltsverzeichnis (Fields / ToC) im Dokument

Merge

Verbindet mehreren Office-Dokumente zu einem

CreateConnectorResult

Erstellt eine primedocs-Connector-Result-Datei

BindCustomXML

Bindet alle CustomControls mit den jeweiligen Daten

InvokeProcess

Ruft ein bestimmtes, im primedocs-Dashboard registriertes Programm auf

*mit gewissen Einschränkungen


DefaultProcess

Dieser Befehl startet den DefaultProcess, der in Windows für den generierten Dateityp registriert ist. Dieser Aufruf funktioniert nur über den Client. Möglicher Parameter:

  • Start: True/False, bei False wird der Prozess nicht gestartet.

<Command Name="DefaultProcess">
    <Parameters>
        <Add key="Start">true</Add>
    </Parameters>
</Command>

ConvertToDocument

Dieser Befehl gilt nur für Word-Dokumente. primedocs verwaltet und generiert Word-Vorlagen (.dotx). Um nach dem Generieren des Dokuments ein Word-Dokument (.docx) zu erhalten, wird dieser Befehl benötigt. Fehlt diese Angabe und wird das Ergebnis als .docx-Datei gespeichert, zeigt Word eine Fehlermeldung an.

<Command Name="ConvertToDocument" />

ConvertToPdf

Verfügbarkeit: primedocs Server & primedocs Client

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

<Command Name="ConvertToPdf" />

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.

HINWEIS
Werden eigene Schriftarten im Dokument verwendet, müssen diese Schriftarten auch auf dem Server installiert werden.


Print

Das Dokument wird an den Standarddrucker gesendet:

<Command Name="Print" />

SaveAs

CAUTION
Auf dem Server kann dieser Command nicht dazu verwendet werden, ein Word-Dokument zu einem PDF zu konvertieren! Verwenden Sie dazu ConvertToPdf.

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.

<Command Name="SaveAs">
  <Parameters>
    <Add key="Filename">\\MyServer\share\organization\...\documentxyz.dotx</Add>
    <Add key="Overwrite">true</Add>
    <Add key="CreateFolder">true</Add>
    <Add key="CopyOnly">false</Add>
    <Add key="AllowUpdateDocumentPart">false</Add>
  </Parameters>
</Command>

HINWEIS
In früheren Versionen konnte zusätzlich der Parameter Type angegeben werden. Dieser wird nicht mehr benötigt, da eine Typumwandlung implizit über die Dateiendung der Zieldatei abgeleitet wird.


UpdateFieldsOnOpen

Dieser Befehl gilt nur für Word-Dokumente und speichert im Dokument die Information, dass Office die Felder, (z. B. Inhaltsverzeichnisse oder Verknüpfungen) beim Öffnen aktualisieren soll. Im Normalfall erscheint für den Benutzer beim Öffnen des Dokuments direkt die Frage, ob die Felder aktualisiert werden sollen:

<Command Name="UpdateFieldsOnOpen" />

Alternativ kann primedocs angewiesen werden, über den primedocs-Ribbon die Felder selbstständig und ohne Rückfrage beim Öffnen zu aktualisieren:

<Command Name="UpdateFieldsOnOpen">
    <Parameters>
        <Add key="Type">primedocs</Add>
    </Parameters>
</Command>

HINWEIS
Es wird empfohlen, das Command zusammen mit ConvertToDocument (bzw. für den PDF-Output mit ConvertToPdf zu benutzen, da Word beim Öffnen einer ".dotx"-Datei ebenfalls das Inhaltsverzeichnis nicht richtig darstellt.


Merge

Das Merge-Command gilt nur für Word-Dokumente und kann zum Zusammenführen von mehreren Dokumenten verwendet werden. Das zusammengeführte Dokument kann anschliessend wieder als ein einzelnes weiterverwendet werden. Der Befehl steht nur als BatchCommand zur Verfügung.

<Command Name="Merge">
    <Parameters>
        <Add key="PageNumberStart">10</Add>
    </Parameters>
</Command>

Das Ergebnis des Merge-Commands ist immer ein Word-Dokument (.docx).


CreateConnectorResult

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

<Command Name="CreateConnectorResult" />

Der Inhalt der Datei sieht im Erfolgsfall etwa so aus:

<?xml version="1.0" encoding="utf-8"?>
<OneOffixxConnectResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Result>Success</Result>
    <Details>
      <InputFile>O:\Templates\Template_Kurzmitteilung.oocx</InputFile>
      <Input><![CDATA[
        <OneOffixxConnectBatch>
        ...
        </OneOffixxConnectBatch>
      ]]></Connect>
    </Details>
</OneOffixxConnectResult>

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

<?xml version="1.0" encoding="utf-8"?>
<OneOffixxConnectResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Result>Error</Result>
    <Message>System.UnauthorizedAccessException: Der Zugriff auf den Pfad "c:\temp" wurde verweigert.
       bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
       bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, ...)
       bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
       bei primedocs.Core.Connect.Commands.SaveAs.Execute()
       ...
    </Message>
    <Details>
      <InputFile>O:\Templates\Template_Kurzmitteilung.oocx</InputFile>
      <Input><![CDATA[
        <OneOffixxConnectBatch>
        ...
        </OneOffixxConnectBatch>
      ]]></Connect>
    </Details>
</OneOffixxConnectResult>

BindCustomXML

Dieses Command gilt nur für Word-Dokumente. primedocs legt alle Daten als sogenannte “CustomXML-Daten” im Dokument ab und Office lädt beim Öffnen des Dokuments diese Daten und schreibt die Werte in die jeweiligen ContentControls.

<Command Name="BindCustomXML" />

HINWEIS
Es gibt vereinzelt Fälle in welchen Office bzw. der Open XML-Client nicht die richtigen Werte lädt oder die Felder leer bleiben, weil z. B. eine ältere Version von Office genutzt wird oder weil der Open XML-Client diese Funktionalität nicht implementiert hat.
In solchen Fällen kann das BindCustomXML-Command helfen, da primedocs bereits bei der Dokumentgenerierung die Daten nicht nur im CustomXML ablegt sondern weil es gleichzeitig die Daten in den ContentControls aktualisiert.


InvokeProcess

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:

<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. Der Aufruf kann optional Argumente enthalten und sieht folgendermassen aus:

<Command Name="InvokeProcess">
    <Parameters>
        <Add key="Name">OurSystemNotepad</Add>
        <Add key="Arguments">/w test.txt</Add>
    </Parameters>
</Command>

  • No labels