Exemplo n.º 1
0
        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);;
            }
        }
Exemplo n.º 2
0
        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);
        }