Diese Skript zeigt, wie man die Ergebnisdokument einer Ausgabe in anderes Verzeichnis kopieren kann.
Konfiguration
Es handelt sich um einen Exporter der ein Dokument generiert (Word, Excel, Text).
Das Skript wird als AfterLastDocument ausgeführt.
Optional: Es ist in ein Dokumentenfeld für die Ablage definiert.
Ideen
Wenn ein Dokumentenfeld konfiguriert ist werden die Ergebnis-Dokumente automatisch im DMS abgelegt und im Ergebnisverzeichnis entfernt. In manchen Fällen werden die Dokumente jedoch nochmal als Kopie benötigt. Dies kann mit diesem Skript bewerkstelligt werden.
// Version 5namespaceRuthardt.PrintPlus.Skripting{usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Data.SqlClient;usingSystem.IO;usingSystem.Linq;usingSystem.Windows.Forms;usingRuthardt.Common.Util;usingRuthardt.CobraBase.Functions.Access.Ado;usingRuthardt.CobraFramework.Ado;usingRuthardt.PrintPlus.Export.Context;usingRuthardt.PrintPlus.Model;usingRuthardt.PrintPlus.Model.Interfaces;usingRuthardt.PrintPlus.Model.Enumerations;publicclassExportResultCopyScript:IScriptAction {publicvoidExecute(IPrintContext printContext,ICurrentContext currentContext,IChildContext childContext) { // Diese Variante kopiert die Ergebnisse der Ausgabe zurück in den Ausgabe Ordner. // Es ist nur sinnvoll einsetzbar, wenn ein DMS-Feld für die Ablage definiert ist und das DMS die Dateien nicht am Ursprungsort belässt.
// Nur in diesem Fall werden die Dokumente aus dem Ausgabeverzeichnis gelöscht und können mit diesem Skript wieder zurück kopiert werden.
string exportDir =printContext.ExportDirectory.FullName; // In dieser Variante kann auch ganz anderes Verzeichnis genutzt werden. exportDir ="MyDirectory/Subfolder";var resultFiles =printContext.CurrentDocumentFileNameList; // Verzeichnis anlegen wenn nicht vorhanden.if(!Directory.Exists(exportDir)) {Directory.CreateDirectory(exportDir); } // Über alle Ergebnisse Iterieren und die Dokumente kopieren.foreach(var resultFile in resultFiles) {File.Copy(resultFile.FullName,Path.Combine(exportDir,resultFile.Name)); } // Ausgabeverzeichnis öffnen - OptionalProcess.Start(exportDir); } }}