private void ConvertPdfToTiff(string pdfPath, string tiffPath) { var result = _scanCreator.Create() .AddInputFiles(new InputFile(pdfPath)) .TiffCompression(TiffCompressionType.Auto) .ForceOverwrite() .NumScans(0) .OutputPath(tiffPath) .Execute(); // required to convert non-naps2-created PDFs into tiff files. var genericImportModuleName = "generic-import"; ScanResults importResult = null; if (result.Output.IndexOf( genericImportModuleName, StringComparison.OrdinalIgnoreCase) >= 0) { importResult = _scanCreator.Create() .Install(genericImportModuleName) .ShowOutput() .Execute(); ConvertPdfToTiff(pdfPath, tiffPath); return; } if (!File.Exists(tiffPath)) { MessageBox.Show( $"There was an error converting PDF to TIFF: \r\n" + $"---Command output---\r\n{result.Output}\r\n" + $"---Import output---\r\n{importResult.Output}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);; } }
public ScanResults Execute() { Args.Validate(); var CliArgs = Args.ToString(); Debug.WriteLine($"Running NAPS2 with process arguments: {CliArgs}"); var startInfo = new ProcessStartInfo(NapsConsolePath, CliArgs) { WindowStyle = _redirectOutput ? ProcessWindowStyle.Hidden : ProcessWindowStyle.Normal, CreateNoWindow = _redirectOutput, UseShellExecute = !_redirectOutput, RedirectStandardError = _redirectOutput, RedirectStandardOutput = _redirectOutput }; var process = Process.Start(startInfo); process.WaitForExit(); var results = new ScanResults(process, _redirectOutput); return(results); }