From 8d50703c1420625e96e70b0f190bd5a49b505517 Mon Sep 17 00:00:00 2001 From: tsuji Date: Thu, 6 Jan 2022 13:17:32 +0900 Subject: [PATCH] =?UTF-8?q?=E6=A4=9C=E7=89=88=E3=83=AC=E3=83=9D=E3=83=BC?= =?UTF-8?q?=E3=83=88=E3=81=AE=E4=BF=AE=E6=AD=A3=E3=82=92.NetFramework4.6.2?= =?UTF-8?q?=E7=89=88=E3=81=AB=E3=82=82=E5=8F=8D=E6=98=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NetFramework4_6_2/CSRender/CompareTIFF.cs | 8 +- .../CSRender/MainWindow.xaml.cs | 138 ++++++++++++++++++ .../RipVerify/setup/DtDiffSetUp_Custom.txt | 8 +- .../RipVerify/setup/PureVerifyDlg.env | 4 +- 4 files changed, 150 insertions(+), 8 deletions(-) diff --git a/Code/NetFramework4_6_2/CSRender/CompareTIFF.cs b/Code/NetFramework4_6_2/CSRender/CompareTIFF.cs index c2ef8e7..20190ec 100644 --- a/Code/NetFramework4_6_2/CSRender/CompareTIFF.cs +++ b/Code/NetFramework4_6_2/CSRender/CompareTIFF.cs @@ -75,13 +75,17 @@ namespace CSRender processStartInfo.Arguments += removePoint; processStartInfo.Arguments += "\" /shadingoff \""; processStartInfo.Arguments += shadingOff; - processStartInfo.Arguments += "\""; + processStartInfo.Arguments += "\" "; if (reportFlag == true) { processStartInfo.Arguments += " /inspReport \""; processStartInfo.Arguments += reportName; - processStartInfo.Arguments += "\""; + processStartInfo.Arguments += "\" "; } + //レポート記述内容の参照先 + processStartInfo.Arguments += "/topPageInfo "; + string textPath = System.IO.Path.Combine("PureVerify.Data", "RipVerify", "work", "OUT_INFO", "CSReportInf.txt"); + processStartInfo.Arguments += System.IO.Path.Combine(appDirectory, textPath); //CSRender.exeを実行 Process process = Process.Start(processStartInfo); diff --git a/Code/NetFramework4_6_2/CSRender/MainWindow.xaml.cs b/Code/NetFramework4_6_2/CSRender/MainWindow.xaml.cs index 883308c..02d2cbf 100644 --- a/Code/NetFramework4_6_2/CSRender/MainWindow.xaml.cs +++ b/Code/NetFramework4_6_2/CSRender/MainWindow.xaml.cs @@ -254,6 +254,22 @@ namespace CSRender ResultConsole.ScrollToEnd(); DoEvents(); + try + { + //レポートへの出力内容を編集 + editReport(allRipTime, workBox.Text); + } + catch (Exception ex) + { + CustomMsgBox.Show(mainWindow, ex.Message, "例外が発生しました", MessageBoxButton.OK, MessageBoxImage.Warning); + //ログ記述 + DateTime faileTIme = DateTime.Now; + string logText = "[" + faileTIme + "]" + Environment.NewLine; + logText += "例外の生じた処理:検版レポートの編集" + Environment.NewLine; + logText += ex.Message + "\n" + ex.StackTrace + Environment.NewLine; + File.AppendAllText(System.IO.Path.Combine(workLogPath, "CSRender.log"), logText); + } + string workDir = ""; try { @@ -377,6 +393,128 @@ namespace CSRender } + /// + /// 指定ディレクトリ内のPDFファイル名を取得する + /// + private string[] getPDFName(string targetDir) + { + string[] targetFiles = System.IO.Directory.GetFiles(targetDir, "*.pdf", System.IO.SearchOption.TopDirectoryOnly); + return targetFiles; + } + + /// + /// 指定ディレクトリ内のPDFファイルのページ数を取得する + /// + private string getPDFPage(string[] targetFiles, string tiffDir) + { + int[] PDFPages = new int[targetFiles.Length]; + for (int i = 0; i < targetFiles.Length; i++) + { + string targetName = System.IO.Path.GetFileName(targetFiles[i]) + "*.tiff"; + string[] targetPDF = System.IO.Directory.GetFiles(tiffDir, targetName, System.IO.SearchOption.TopDirectoryOnly); + PDFPages[i] = targetPDF.Length; + } + //文字列化 + string allPage = ""; + for (int i = 0; i < PDFPages.Length; i++) + { + if (i > 0) + { + allPage += ","; + } + allPage += PDFPages[i]; + } + return allPage; + } + + /// + /// レポートの出力内容を編集する + /// + private void editReport(string allRipTime, string workBox) + { + // .txtのパス + string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location; //モジュールのパスを取得 + string appDirectory = appPath.Substring(0, appPath.LastIndexOf(@"\") + 1); //モジュールの存在するディレクトリを取得 + string outInfoPath = System.IO.Path.Combine("PureVerify.Data", "RipVerify", "work", "OUT_INFO"); + outInfoPath = System.IO.Path.Combine(appDirectory, outInfoPath); + if (!Directory.Exists(outInfoPath)) + { + Directory.CreateDirectory(outInfoPath); + } + string reportInfoPath = System.IO.Path.Combine(outInfoPath, "CSReportInf.txt"); + if (!File.Exists(reportInfoPath)) + { + File.CreateText(reportInfoPath); + } + + //対象フォルダの内容 + string tarTiffDir = System.IO.Path.Combine(workBox, "work", "targetTIFF"); + //PDFの数 + string[] targetPDFs = getPDFName(targetBox.Text); + string targetNum = targetPDFs.Length.ToString(); + //PDFの名前一覧 + string allTargetName = ""; + for (int i = 0; i < targetPDFs.Length; i++) + { + if (i > 0) + { + allTargetName += ","; + } + allTargetName += System.IO.Path.GetFileName(targetPDFs[i]); + } + //PDFのページ数 + string targetAllPage = getPDFPage(targetPDFs, tarTiffDir); + + //リファレンスフォルダの内容 + string refTiffDir = System.IO.Path.Combine(workBox, "work", "referenceTIFF"); + //PDFの数 + string[] referencePDFs = getPDFName(referenceBox.Text); + string referenceNum = referencePDFs.Length.ToString(); + //PDFの名前一覧 + string allReferenceName = ""; + for (int i = 0; i < referencePDFs.Length; i++) + { + if (i > 0) + { + allReferenceName += ","; + } + allReferenceName += System.IO.Path.GetFileName(referencePDFs[i]); + } + //PDFのページ数 + string referenceAllPage = getPDFPage(referencePDFs, refTiffDir); + + //.txtファイルに記述する内容 + string writeText = "**RESULT_RIP_TIME: \"" + allRipTime + "\"\r\n"; + writeText += "**ENV_VERSION: \"CSRender Ver 1.1.0\"\r\n"; + writeText += "**ENV_RIPVERIFY_PATH: \"" + appPath + "\"\r\n"; + writeText += "**ENV_RIP_PROCESSING: \"PDFium\"\r\n"; + writeText += "**ENV_IMAGE_RESO: \"" + ResolutionBox.Text + "\"\r\n"; + if (PageRange.Text == "指定") + { + writeText += "**ENV_INSPECTION_AREA_SPECIFY: \"" + pageBox.Text + "\"\r\n"; + } + else + { + writeText += "**ENV_INSPECTION_AREA_SPECIFY: \"ALL\"\r\n"; + } + writeText += "**PDF_REF_FOLDER: \"" + referenceBox.Text + "\"\r\n"; + writeText += "**PDF_REF_FILE_NUM: \"" + referenceNum + "\"\r\n"; + writeText += "**PDF_REF_NAME: \"" + allReferenceName + "\"\r\n"; + writeText += "**PDF_REF_PAGE_NUM: \"" + referenceAllPage + "\"\r\n"; + writeText += "**PDF_TAR_FOLDER: \"" + targetBox.Text + "\"\r\n"; + writeText += "**PDF_TAR_FILE_NUM: \"" + targetNum + "\"\r\n"; + writeText += "**PDF_TAR_NAME: \"" + allTargetName + "\"\r\n"; + writeText += "**PDF_TAR_PAGE_NUM: \"" + targetAllPage + "\"\r\n"; + + // StreamWriterオブジェクトのインスタンスを生成 + StreamWriter streamWriter = new StreamWriter(reportInfoPath, false, Encoding.GetEncoding("Shift_JIS")); + // Writeメソッドで文字列データを書き込む + streamWriter.Write(writeText); + // StreamWriterオブジェクトを閉じる + streamWriter.Close(); + } + + /// /// TIFF画像化を実行する /// diff --git a/Code/NetFramework4_6_2/CSRender/PureVerify.Data/RipVerify/setup/DtDiffSetUp_Custom.txt b/Code/NetFramework4_6_2/CSRender/PureVerify.Data/RipVerify/setup/DtDiffSetUp_Custom.txt index 1716298..424508d 100644 --- a/Code/NetFramework4_6_2/CSRender/PureVerify.Data/RipVerify/setup/DtDiffSetUp_Custom.txt +++ b/Code/NetFramework4_6_2/CSRender/PureVerify.Data/RipVerify/setup/DtDiffSetUp_Custom.txt @@ -1,14 +1,14 @@ // 䂷点 -**ShiftPixel: "0" +**ShiftPixel: "2" // K}[W -**GradationMargin: "30" +**GradationMargin: "60" // Ǘ_ -**RemovePoint: "5" +**RemovePoint: "8" // ω -**ShadingOff: "2" +**ShadingOff: "0" //}`vZX[h(:0/蓮:1) **MultiProcessMode:"0" diff --git a/Code/NetFramework4_6_2/CSRender/PureVerify.Data/RipVerify/setup/PureVerifyDlg.env b/Code/NetFramework4_6_2/CSRender/PureVerify.Data/RipVerify/setup/PureVerifyDlg.env index ccbba54..8e37494 100644 --- a/Code/NetFramework4_6_2/CSRender/PureVerify.Data/RipVerify/setup/PureVerifyDlg.env +++ b/Code/NetFramework4_6_2/CSRender/PureVerify.Data/RipVerify/setup/PureVerifyDlg.env @@ -1,5 +1,5 @@ -**EquiosCenter: "C:\Users\EB030221\Desktop\CSRender\PureVerify.Data\EquiosCenter" -**WorkDirRoot: "C:\Users\EB030221\Desktop\CSRender\PureVerify.Data\RipVerify" +**EquiosCenter: "C:\Users\EB030221\Desktop\VЈC\CsȊwK\CSRender\CSRender\bin\Debug\PureVerify.Data\EquiosCenter" +**WorkDirRoot: "C:\Users\EB030221\Desktop\VЈC\CsȊwK\CSRender\CSRender\bin\Debug\PureVerify.Data\RipVerify" **InspQuality: "3" **MarkDistance: "50" **ReportEncodeType: "2" -- 2.22.0