diff --git a/Code/CSRender/CSRender/CompareTIFF.cs b/Code/CSRender/CSRender/CompareTIFF.cs index a9d4ea5bae86dd7309891fa3efe0bfa04eed19e4..d4016bb9b630440aa710814b65bab368fa818f98 100644 --- a/Code/CSRender/CSRender/CompareTIFF.cs +++ b/Code/CSRender/CSRender/CompareTIFF.cs @@ -21,7 +21,7 @@ namespace CSRender { class CompareTIFF { - public static string runPureVerify(string targetDir, string referenceDir, string workPath, + public static void runPureVerify(string targetDir, string referenceDir, string workPath, string shiftPixel, string colorMargin, string removePoint, string shadingOff, bool reportFlag, string reportName, string inDiffPath, string inTargetFileName, DateTime inDateTime) { @@ -99,6 +99,11 @@ namespace CSRender processStartInfo.Arguments += "\" "; //差異画像の出力 + inDiffPath = System.IO.Path.Combine(inDiffPath, inTargetFileName); + if (!Directory.Exists(inDiffPath)) + { + Directory.CreateDirectory(inDiffPath); + } processStartInfo.Arguments += "/outDiff \""; processStartInfo.Arguments += inDiffPath; processStartInfo.Arguments += "\" "; @@ -117,7 +122,7 @@ namespace CSRender //NGの含まれる場合レポート名の頭に【NG】を付与 NGReportName(TargetName, reportName); - return workDir; + //return workDir; } //指定先にレポートを移動 diff --git a/Code/CSRender/CSRender/MainWindow.xaml.cs b/Code/CSRender/CSRender/MainWindow.xaml.cs index 159e8d6a04ff209c651d905ba0a103f99d1bba63..1d3b9dc14ab9b3fed5da3993a99b46055a6487ea 100644 --- a/Code/CSRender/CSRender/MainWindow.xaml.cs +++ b/Code/CSRender/CSRender/MainWindow.xaml.cs @@ -105,8 +105,13 @@ namespace CSRender private void CompareButtonClick(object sender, RoutedEventArgs e) { + string workBoxText = workBox.Text; + string reportBoxText = reportBox.Text; + string targetBoxText = targetBox.Text; + string referenceBoxText = referenceBox.Text; + //対象フォルダのpathチェック - if (!Directory.Exists(targetBox.Text) && !File.Exists(targetBox.Text)) + if (!Directory.Exists(targetBoxText) && !File.Exists(targetBoxText)) { CustomMsgBox.Show(mainWindow, "指定されたファイルあるいはフォルダが存在しません。" + "\nもう一度設定してください。", "The specified file or folder does not exist", MessageBoxButton.OK, MessageBoxImage.Information); @@ -119,7 +124,7 @@ namespace CSRender } //リファレンスファイルのpathチェック - if (!Directory.Exists(referenceBox.Text) && !File.Exists(referenceBox.Text)) + if (!Directory.Exists(referenceBoxText) && !File.Exists(referenceBoxText)) { CustomMsgBox.Show(mainWindow, "指定されたリファレンスファイルあるいはフォルダが存在しません。" + "\nもう一度設定してください。", "The specified reference file or folder does not exist", MessageBoxButton.OK, MessageBoxImage.Information); @@ -132,7 +137,7 @@ namespace CSRender } //出力ファイルpathのチェック - if (!Directory.Exists(workBox.Text) && !File.Exists(workBox.Text)) + if (!Directory.Exists(workBoxText) && !File.Exists(workBoxText)) { CustomMsgBox.Show(mainWindow, "指定された作業フォルダが存在しません。" + "\nもう一度設定してください。", "The work space folder does not exist", MessageBoxButton.OK, MessageBoxImage.Information); @@ -140,12 +145,12 @@ namespace CSRender ResultConsole.Text += "\r\n"; ResultConsole.ScrollToEnd(); workBox.Text = ""; - Properties.Settings.Default.workSpaceSetting = workBox.Text; + Properties.Settings.Default.workSpaceSetting = workBoxText; Properties.Settings.Default.Save(); return; } - string workLogPath = System.IO.Path.Combine(workBox.Text, "report"); - string outDiffPath = System.IO.Path.Combine(workBox.Text, "OUT_DIFF");//DIFF画像の出力先パス + string workLogPath = System.IO.Path.Combine(workBoxText, "report"); + string outDiffPath = System.IO.Path.Combine(workBoxText, "OUT_DIFF");//DIFF画像の出力先パス if (!Directory.Exists(outDiffPath)) { Directory.CreateDirectory(outDiffPath);//DIFF画像の出力先パスが無ければ作成 @@ -197,7 +202,7 @@ namespace CSRender DoEvents(); //対象フォルダ - string targetTIFFPath = System.IO.Path.Combine(workBox.Text, "work", "targetTIFF"); + string targetTIFFPath = System.IO.Path.Combine(workBoxText, "work", "targetTIFF"); if (Directory.Exists(targetTIFFPath))//指定先にTIFF用フォルダがあるか { Directory.Delete(targetTIFFPath, true);//あれば古いTIFF用フォルダを削除(前回作業時の生成物との混同防止) @@ -208,7 +213,7 @@ namespace CSRender try { string targetTIFFResult = - OutputTIFF.runCSRender(ResolutionBox.Text, "TIFF", pageFlag, selectedPage, targetBox.Text, targetTIFFPath); + OutputTIFF.runCSRender(ResolutionBox.Text, "TIFF", pageFlag, selectedPage, targetBoxText, targetTIFFPath); } catch (Exception ex) { @@ -227,7 +232,7 @@ namespace CSRender DoEvents(); //リファレンスフォルダ - string referenceTIFFPath = System.IO.Path.Combine(workBox.Text, "work", "referenceTIFF"); + string referenceTIFFPath = System.IO.Path.Combine(workBoxText, "work", "referenceTIFF"); if (Directory.Exists(referenceTIFFPath))//指定先にTIFF用フォルダがあるか { Directory.Delete(referenceTIFFPath, true);//あれば古いTIFF用フォルダを削除(前回作業時の生成物との混同防止) @@ -238,7 +243,7 @@ namespace CSRender try { string referenceTIFFResult = - OutputTIFF.runCSRender(ResolutionBox.Text, "TIFF", pageFlag, selectedPage, referenceBox.Text, referenceTIFFPath); + OutputTIFF.runCSRender(ResolutionBox.Text, "TIFF", pageFlag, selectedPage, referenceBoxText, referenceTIFFPath); } catch (Exception ex) { @@ -264,7 +269,7 @@ namespace CSRender try { //レポートへの出力内容を編集 - editReport(allRipTime, workBox.Text); + editReport(allRipTime, workBoxText); } catch (Exception ex) { @@ -283,19 +288,19 @@ namespace CSRender // 日付取得 DateTime NowTime = DateTime.Now; //検版対象ファイル名の取得 - string[] inspectionTargets = GetTargetList(targetBox.Text, referenceBox.Text); - foreach (var targetPDFName in inspectionTargets) + string[] inspectionTargets = GetTargetList(targetBoxText, referenceBoxText); + string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location; //モジュールのパスを取得 + string appDirectory = appPath.Substring(0, appPath.LastIndexOf(@"\") + 1); //モジュールの存在するディレクトリを取得 + workDir = System.IO.Path.Combine(appDirectory, "PureVerify.Data", "RipVerify"); + + Parallel.ForEach(inspectionTargets, targetPDFName => { //PureVerifyの実行 - workDir = CompareTIFF.runPureVerify(targetTIFFPath, referenceTIFFPath, workBox.Text - , shiftPixel, colorMargin, removePoint, shadingOff, reportFlag, reportBox.Text, + CompareTIFF.runPureVerify(targetTIFFPath, referenceTIFFPath, workBoxText + , shiftPixel, colorMargin, removePoint, shadingOff, reportFlag, reportBoxText, outDiffPath, targetPDFName, NowTime); - } - //string targetPDFName = ""; - - //PureVerifyの実行 - //workDir = CompareTIFF.runPureVerify(targetTIFFPath, referenceTIFFPath, workBox.Text - //, shiftPixel, colorMargin, removePoint, shadingOff, reportFlag, reportBox.Text, outDiffPath, targetPDFName); + }); + } catch (Exception ex) { @@ -332,7 +337,7 @@ namespace CSRender //レポート名を取得 if (reportBox.Text != "") { - PDFName = reportBox.Text; + PDFName = reportBoxText; } else { @@ -352,15 +357,15 @@ namespace CSRender } //指定先にレポートを移動 - CompareTIFF.moveReport(workBox.Text, workDir); + CompareTIFF.moveReport(workBoxText, workDir); //レポートのパスを表示 ResultConsole.Text += " 検版レポートのパス:"; - ResultConsole.Text += System.IO.Path.Combine(workBox.Text, "report", PDFName); + ResultConsole.Text += System.IO.Path.Combine(workBoxText, "report", PDFName); ResultConsole.Text += "\r\n"; if(reportBox.Text == "") { - reportBox.Text = System.IO.Path.Combine(workBox.Text, "report", PDFName); + reportBox.Text = System.IO.Path.Combine(workBoxText, "report", PDFName); } //パラメータを次回初期値用に保存 @@ -370,10 +375,10 @@ namespace CSRender Properties.Settings.Default.colorMarginSetting = GradationBox.Value; Properties.Settings.Default.removePointSetting = SmallDiffBox.Value; Properties.Settings.Default.shadingOffSetting = VisualBox.Value; - Properties.Settings.Default.workSpaceSetting = workBox.Text; - Properties.Settings.Default.targetSetting = targetBox.Text; - Properties.Settings.Default.referenceSetting = referenceBox.Text; - Properties.Settings.Default.reportPathSetting = reportBox.Text; + Properties.Settings.Default.workSpaceSetting = workBoxText; + Properties.Settings.Default.targetSetting = targetBoxText; + Properties.Settings.Default.referenceSetting = referenceBoxText; + Properties.Settings.Default.reportPathSetting = reportBoxText; Properties.Settings.Default.Save(); }