From b81e979e11bedfe19df062bd911f837a7c2b24b0 Mon Sep 17 00:00:00 2001 From: Mikhail Shcherbakov Date: Tue, 14 Aug 2018 22:56:18 +0300 Subject: [PATCH] Fix printing of several copies. --- AutoPrintr/AssemblyVersion.cs | 4 ++-- .../AutoPrintr.Service/Services/PrinterService.cs | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/AutoPrintr/AssemblyVersion.cs b/AutoPrintr/AssemblyVersion.cs index 8f46304..d31b3a0 100644 --- a/AutoPrintr/AssemblyVersion.cs +++ b/AutoPrintr/AssemblyVersion.cs @@ -18,5 +18,5 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("2.0.23.0")] -[assembly: AssemblyFileVersion("2.0.23.0")] +[assembly: AssemblyVersion("2.0.24.0")] +[assembly: AssemblyFileVersion("2.0.24.0")] diff --git a/AutoPrintr/AutoPrintr.Service/Services/PrinterService.cs b/AutoPrintr/AutoPrintr.Service/Services/PrinterService.cs index 385f33a..da16ad8 100644 --- a/AutoPrintr/AutoPrintr.Service/Services/PrinterService.cs +++ b/AutoPrintr/AutoPrintr.Service/Services/PrinterService.cs @@ -7,6 +7,7 @@ using System.IO; using System.Linq; using System.Printing; +using System.Threading; using System.Threading.Tasks; namespace AutoPrintr.Service.Services @@ -65,7 +66,7 @@ await Task.Factory.StartNew(() => throw new InvalidOperationException("LocalFilePath is required"); var processPath = ExtractSumatraPDF(); - var arguments = $"-silent -print-settings \"noscale,{printer.PrintMode.ToString().ToLower()},{count}x\" -exit-on-print -print-to \"{printer.Name}\" \"{_fileService.GetFilePath(document.LocalFilePath)}\""; + var arguments = $"-silent -print-settings \"noscale,{printer.PrintMode.ToString().ToLower()},1x\" -exit-on-print -print-to \"{printer.Name}\" \"{_fileService.GetFilePath(document.LocalFilePath)}\""; _loggingService.WriteInformation($"Printing command: {arguments}"); @@ -82,8 +83,12 @@ await Task.Factory.StartNew(() => CreateNoWindow = true }; - var process = Process.Start(psi); - process.WaitForExit(); + for (int i = 0; i < count; i++) + { + var process = Process.Start(psi); + process.WaitForExit(); + Thread.Sleep(500); + } } catch (Exception ex) {