PRINT+PLUS
  • Einleitung
  • Einrichtung
    • Installation
  • Aktualisierung
    • Aktualisierungseinführung
  • Lizenzierung
    • Lizenzierungseinführung
  • Funktionsweise von PRINT+PLUS
    • Einführung Funktionsweise
  • Gestalten von Vorlagen
    • Intro Vorlagen
    • Beispiel mit Rechnung
    • Formatierung
    • Spezielle Platzhalter für Datum, Ja/Nein-Felder, Bilder und HTML
    • Platzhalter für die Benutzerattribute von cobra CRM
    • Eigene Platzhalter
  • Einrichtung von Ausgabeformaten
    • Intro
    • Alle Einstellungen eines Ausgabeformats im Detail
    • Register "Allgemeine Konfiguration"
    • Register "Ausgangstabelle (Current)"
    • Register "Ausgangs-Vorlage"
    • Register "Übergeordnete Tabellen (Parent)"
    • Register "Untergeordnete Tabellen (Children)"
    • Register "Dokumente speichern"
    • Register "Filter-Dialog"
    • Register "Ergebnis-Verhalten"
    • Register "Skripte"
  • Ausgabe ausführen
    • Intro Ausgabe ausführen
  • AUSGABEN PER TASK AUSFÜHREN
    • Aufgaben dem Task zuweisen
    • Windows Aufgabenplanung für den Task einrichten
    • Besonderheiten in Skripten
  • Eingabemasken Steuerelement
  • Intro Eingabemasken Steuerelement
    • Steuerelement hinzufügen
  • Einbindung von Print+Plus in cobra Kampagnen
  • Intro Einbindung von Print+Plus in cobra Kampagnen
  • Grundlagen Skripting
    • C#
    • Skript-Events
    • Kontexte
    • Geladene Daten verwenden
    • Geladene Daten verändern
    • Datensätze anlegen
    • Eingabemaske öffnen
    • Eigene Werte ergänzen (Custom Values)
  • Beispielskripte
    • Nummer vergeben
    • PDF-Formulare füllen
    • PDF-Dokumente zusammenfügen
    • Generiertes Dokument via SMTP versenden
    • Weitere Ausgabe starten
    • Vorlage aus DMS-Feld holen
    • Felder für CRYPTO+PLUS verschlüsseln
    • Benutzerabhängige Drucker verwenden
    • Bilder in E-Mails einbinden
    • Zahlen in Worten ausschreiben
    • Datensatz-Bilder aus cobra einbetten
    • Ergebnisdokumente kopieren
    • Regionsspezifische Ausgabeformate
    • Andere Datenquelle-Objekte nutzen
    • DocuSign Integration
  • FAQs
    • Fehlermeldung Template konnte nicht geöffnet werden
    • DevExpress-Word-Exporter
      • Bilder in Vorlage
      • Bekannte Einschränkungen
      • Hinweise für Entwickler
  • Zusätzliches Tool im Zusammenhang mit PRINT+PLUS
    • Intro Zusätzliches Tool
Powered by GitBook
On this page
  • Konfiguration
  • Ideen
  • Skript
  1. Beispielskripte

PDF-Dokumente zusammenfügen

Dieses Skript zeigt, wie alle generierten PDF-Einzeldokumente am Ende in ein PDF-Dokument zusammengefügt werden kann.

Konfiguration

  • Das Skript wird als AfterLastDocument ausgeführt.

  • Es werden Referenzen auf folgende DevExpress-Dlls aus dem cobra-Verzeichnis benötigt:

    • C:\Program Files (x86)\cobra\CRMPRO\Programm\Module\DevExpress.Docs.v21.2.dll

    • C:\Program Files (x86)\cobra\CRMPRO\Programm\Module\DevExpress.Pdf.v21.2.Core.dll

    • C:\Program Files (x86)\cobra\CRMPRO\Programm\Module\DevExpress.Pdf.v21.2.Drawing.dll

Ideen

  • Es werden aus dem PrintContext alle Dokumente ausgelesen, die erzeugt wurden.

  • Es wird zunächst ein neues leeres PDF-Dokument mit DevExpress erzeugt.

  • Es werden alle generierten Dokumente in das Ergebnis-PDF eingefügt.

Skript

// Version 5
namespace Ruthardt.PrintPlus.Skripting
{
  using System;
  using System.IO;
  using System.Linq;
	
  using DevExpress.Pdf;
	
  using System.Diagnostics;
	
  using Ruthardt.PrintPlus.Model.Enumerations;
  using Ruthardt.PrintPlus.Model.Interfaces;

  public class PdfsZusammenfuehren : IScriptAction
  {
    public void Execute(IPrintContext printContext, ICurrentContext currentContext, IChildContext childContext)
    {			
      if (printContext.ExportFormat != ExportFormats.Pdf)
      {
        return;
      }
      if (!printContext.CurrentDocumentFileNameList.Any())
      {
        return;
      }
		
      // PDFs zusammenführen via DevExpress
      var outputPath = Path.Combine(printContext.ExportDirectory.FullName, printContext.Config.ConfigurationName + "_" + DateTime.Now.ToString("dd-MM-yy_hhmm") + ".pdf");
      using (PdfDocumentProcessor pdfDocumentProcessor = new PdfDocumentProcessor())
      {
        pdfDocumentProcessor.CreateEmptyDocument(outputPath);
        foreach(FileInfo fileInfo in printContext.CurrentDocumentFileNameList)
        {
          pdfDocumentProcessor.AppendDocument(fileInfo.FullName);
        }        
      }

      // PDF direkt öffnen
      System.Diagnostics.Process.Start(outputPath);
    }
  }
}
PreviousPDF-Formulare füllenNextGeneriertes Dokument via SMTP versenden

Last updated 1 month ago