Includes:
using Ghostscript.NET;
using Ghostscript.NET.Processor;
using Ghostscript.NET.Rasterizer;
I am currently using Ghostscript.Net to combine several separate PDF files into one document:
public static void GhostscriptNetJoin(String[] fileNames, String outputPath)
{
var sb = new StringBuilder();
foreach (var fileName in fileNames)
{
var source = (fileName.IndexOf(' ') == -1) ? fileName : String.Format("\"{0}\"", fileName);
sb.Append(source + " ");
}
var output_file = (outputPath.IndexOf(' ') == -1) ? outputPath : String.Format("\"{0}\"", outputPath);
var gsArgs = new List<String>();
gsArgs.Add("-empty");
gsArgs.Add("-dBATCH");
gsArgs.Add("-q");
gsArgs.Add("-dNOPAUSE");
gsArgs.Add("-dNOPROMPT");
gsArgs.Add("-sDEVICE=pdfwrite");
gsArgs.Add("-dPDFSETTINGS=/prepress");
gsArgs.Add(String.Format(@"-sOutputFile={0}", output_file));
gsArgs.Add(sb.ToString());
var version = GhostscriptVersionInfo.GetLastInstalledVersion();
using (var processor = new GhostscriptProcessor(version, false))
{
processor.Process(gsArgs.ToArray());
}
}
How can I return later to the REPLACE or UPDATE N page ?
I missed the routine that has my plan, but at this time I do not know how to complete it. Can I provide values argor is there another tool I should use?
public static void GhostscriptNetReplace(String source, String documentN, int indexN)
{
var list = new List<String>();
var version = GhostscriptVersionInfo.GetLastInstalledVersion();
using (var processor = new GhostscriptProcessor(version, false))
{
var gsArgs = new List<String>();
throw new NotImplementedException("I don't know how to code for this yet.");
processor.Process(gsArgs.ToArray());
}
list.RemoveAt(indexN);
list.Insert(indexN, documentN);
var sb = new StringBuilder();
foreach (var fileName in list)
{
var fmtSource = (fileName.IndexOf(' ') == -1) ? fileName : String.Format("\"{0}\"", fileName);
sb.Append(fmtSource + " ");
}
var output_file = (source.IndexOf(' ') == -1) ? source : String.Format("\"{0}\"", source);
using (var processor = new GhostscriptProcessor(version, false))
{
var gsArgs = new List<String>();
gsArgs.Add("-empty");
gsArgs.Add("-dBATCH");
gsArgs.Add("-q");
gsArgs.Add("-dNOPAUSE");
gsArgs.Add("-dNOPROMPT");
gsArgs.Add("-sDEVICE=pdfwrite");
gsArgs.Add("-dPDFSETTINGS=/prepress");
gsArgs.Add(String.Format(@"-sOutputFile={0}", output_file));
gsArgs.Add(sb.ToString());
processor.Process(gsArgs.ToArray());
}
}
source
share