PDF Dokumente zusammenfügen
Dieses Skript zeigt, wie alle generierten PDF-Einzeldokumente am Ende in ein PDF-Dokument zusammengefügt werden kann.
// 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);
}
}
}