public void CommandLineToArgs_GivenSimpleCommandLine_ReturnsGoodArray() { const string commandLine = "/Test /Quote=\"This is a Test\""; var expected = new[] { "/Test", "/Quote=This is a Test" }; Assert.AreEqual(expected, _commandLineUtil.CommandLineToArgs(commandLine)); }
/// <summary> /// Get the list of Ghostscript Parameters. This List contains of a basic set of parameters together with some /// device-specific /// parameters that will be added by the device implementation /// </summary> /// <param name="ghostscriptVersion"></param> /// <returns>A list of parameters that will be passed to Ghostscript</returns> public IList <string> GetGhostScriptParameters(GhostscriptVersion ghostscriptVersion) { IList <string> parameters = new List <string>(); var outputFormatHelper = new OutputFormatHelper(); parameters.Add("gs"); parameters.Add("--permit-file-all=\"" + Job.JobTempFolder + "\\\""); parameters.Add("-I" + ghostscriptVersion.LibPaths); parameters.Add("-sFONTPATH=" + _osHelper.WindowsFontsFolder); parameters.Add("-dNOPAUSE"); parameters.Add("-dBATCH"); if (!outputFormatHelper.HasValidExtension(Job.OutputFileTemplate, Job.Profile.OutputFormat)) { outputFormatHelper.EnsureValidExtension(Job.OutputFileTemplate, Job.Profile.OutputFormat); } AddOutputfileParameter(parameters); AddDeviceSpecificParameters(parameters); // Add user-defined parameters if (!string.IsNullOrEmpty(Job.Profile.Ghostscript.AdditionalGsParameters)) { var args = _commandLineUtil.CommandLineToArgs(Job.Profile.Ghostscript.AdditionalGsParameters); foreach (var s in args) { parameters.Add(s); } } //Dictonary-Parameters must be the last Parameters if (DistillerDictonaries.Count > 0) { parameters.Add("-c"); foreach (var parameter in DistillerDictonaries) { parameters.Add(parameter); } } //Don't add further paramters here, since the distiller-parameters should be the last! parameters.Add("-f"); SetSourceFiles(parameters, Job); // Compose name of the pdfmark file based on the location and name of the inf file var pdfMarkFileName = PathSafe.Combine(Job.JobTempFolder, "metadata.mtd"); CreatePdfMarksFile(pdfMarkFileName); // Add pdfmark file as input file to set metadata parameters.Add(pdfMarkFileName); return(parameters); }
/// <summary> /// Get the list of Ghostscript Parameters. This List contains of a basic set of parameters together with some /// device-specific /// parameters that will be added by the device implementation /// </summary> /// <param name="ghostscriptVersion"></param> /// <returns>A list of parameters that will be passed to Ghostscript</returns> public IList <string> GetGhostScriptParameters(GhostscriptVersion ghostscriptVersion) { IList <string> parameters = new List <string>(); var outputFormatHelper = new OutputFormatHelper(); parameters.Add("gs"); parameters.Add("-I" + ghostscriptVersion.LibPaths); parameters.Add("-sFONTPATH=" + _osHelper.WindowsFontsFolder); parameters.Add("-dNOPAUSE"); parameters.Add("-dBATCH"); if (!outputFormatHelper.HasValidExtension(Job.OutputFilenameTemplate, Job.Profile.OutputFormat)) { outputFormatHelper.EnsureValidExtension(Job.OutputFilenameTemplate, Job.Profile.OutputFormat); } AddOutputfileParameter(parameters); AddDeviceSpecificParameters(parameters); // Add user-defined parameters if (!string.IsNullOrEmpty(Job.Profile.Ghostscript.AdditionalGsParameters)) { var args = _commandLineUtil.CommandLineToArgs(Job.Profile.Ghostscript.AdditionalGsParameters); foreach (var s in args) { parameters.Add(s); } } //Dictonary-Parameters must be the last Parameters if (DistillerDictonaries.Count > 0) { parameters.Add("-c"); foreach (var parameter in DistillerDictonaries) { parameters.Add(parameter); } } //Don't add further paramters here, since the distiller-parameters should be the last! parameters.Add("-f"); if (Job.Profile.Stamping.Enabled) { // Compose name of the stamp file based on the location and name of the inf file var stampFileName = PathSafe.Combine(Job.JobTempFolder, PathSafe.GetFileNameWithoutExtension(Job.JobInfo.InfFile) + ".stm"); CreateStampFile(stampFileName, Job.Profile, Job.TokenReplacer); parameters.Add(stampFileName); } if (Job.Profile.CoverPage.Enabled) { parameters.Add(PathHelper.GetShortPathName(Job.Profile.CoverPage.File)); } foreach (var sfi in Job.JobInfo.SourceFiles) { parameters.Add(PathHelper.GetShortPathName(sfi.Filename)); } if (Job.Profile.AttachmentPage.Enabled) { parameters.Add(PathHelper.GetShortPathName(Job.Profile.AttachmentPage.File)); } // Compose name of the pdfmark file based on the location and name of the inf file var pdfMarkFileName = PathSafe.Combine(Job.JobTempFolder, "metadata.mtd"); CreatePdfMarksFile(pdfMarkFileName); // Add pdfmark file as input file to set metadata parameters.Add(pdfMarkFileName); return(parameters); }