diff --git a/CSRender/CSRender_ReadMe.txt b/CSRender/CSRender_ReadMe.txt index 63c24daa1f25c273264fbe39f7803f09cebb25af..59aea8cf975a7b118227f0c6860b0f49a64fee64 100644 --- a/CSRender/CSRender_ReadMe.txt +++ b/CSRender/CSRender_ReadMe.txt @@ -1,3 +1,8 @@ +V1.3.1.0:2021/10/04 :UWP—pAData.pdf‚ÌíœA®— + * UWP—pƒR[ƒhíœB’Êí‚̃tƒ@ƒCƒ‹ƒAƒNƒZƒX‚âMemoryStream‚É•ÏX + * Widnows RT Windows.Data.pdf‚ÌŽg—p‚ðíœ.PDFium‚݂̂Ƃµ‚½ + * /ParaPageƒIƒvƒVƒ‡ƒ“’ljÁBPageRender‚̃XƒŒƒbƒh”(Def=4) + * TIFFo—ÍŽž‚ÌJpeg‚̃mƒCƒYíœ V1.3.0.4:2021/04/29 :Help‚Ì‹Lq”²‚¯ "/Result"‚̑Ήž V1.3.0.3:2020/11/22 :/Result <”äŠrŒ‹‰Ê> ‚ðŽÀ‘•Bdiff‰æ‘œ‚ðo—Í diff --git a/CSRender/Program.cs b/CSRender/Program.cs index 8b671066720e3e47d210eed7a35a03aeb9e709c4..ec7d4f8a5f53551f4789e56df40595c7e25c9d52 100644 --- a/CSRender/Program.cs +++ b/CSRender/Program.cs @@ -105,14 +105,16 @@ For more information,see /H /? or /? [Basic Rendering] 基本的ãªãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚° {pgName} [/] /F : pdfPath(pdfファイルå|ディレクトリ) /Fã¯çœç•¥å¯èƒ½ - /O : 出力ディレクトリ。çœç•¥æ™‚ã¯""IMG""フォルダ + /O|Output : 出力ディレクトリ。 + çœç•¥æ™‚ã¯PDF指定ã®å ´åˆã¯åŒä¸€éšŽå±¤ã®"".IMG""フォルダ。 + ディレクトリ指定ã®å ´åˆã¯""<ディレクトリå>.IMG""ã€å·®åˆ†ç”»åƒã¯""<ディレクトリå>.DiffImage""。 [Render Options] レンダリングオプション - /D <è§£åƒåº¦> : è§£åƒåº¦æŒ‡å®š 9 - 300dpi(default=72dpi) + /D|Dpi <è§£åƒåº¦> : è§£åƒåº¦æŒ‡å®š 9 - 300dpi(default=72dpi) /JPG,/JPEG,/PNG,/TIF,/TIFF,/GIF,/BMP: Select one output format.(default=/JPG) /JPEGQ : Jpegã®å“質指定1-100(default=91) - /P : ページã®ç¯„囲を指定ã™ã‚‹(çœç•¥æ™‚ã¯å…¨ãƒšãƒ¼ã‚¸) + /P|Page : ページã®ç¯„囲を指定ã™ã‚‹(çœç•¥æ™‚ã¯å…¨ãƒšãƒ¼ã‚¸) 連続ã—ãŸç¯„囲を指定ã™ã‚‹å ´åˆã¯ã€ãƒã‚¤ãƒ•ン('-')を用ã„る。終了å´ã‚’çœç•¥ã™ã‚‹ã¨æœ€çµ‚pageã¾ã§ã€‚ 複数ã®ãƒšãƒ¼ã‚¸ã‚’指定ã™ã‚‹å ´åˆã¯ã€ã‚«ãƒ³ãƒžï¼ˆ',')を用ã„ã‚‹ Ex. /P ""1,2,30-100"" //1,2pages and 30-100pages. @@ -122,26 +124,26 @@ For more information,see /H /? or /? /OP <0|1> : オーãƒãƒ¼ãƒ—リントã®On/Off (çœç•¥æ™‚ã¯1)(*unsupport allways on[1]) /U <0|1> : åŒå上書ã設定 0:上書ãã—ãªã„ 1:上書ã(*unsupport allways overwrite[1]) /OFFSET : ミリå˜ä½ã§ã‚ªãƒ•セットを指定ã™ã‚‹ï¼ˆçœç•¥æ™‚ã¯å…±ã«0mm)(*unsupport) - /PDFium <0or1>: Googoleã®PDFiumViewerエンジンを使用ã™ã‚‹(default=1> - ã€æœªã€‘/BM,/BT,/BA,/BA,/BC: Select one box.(default=/BC:CrobBox): Boxies:MediaBox/BleedBox/TrimBox/ArtBox/CropBox + [Obs]/PDFium <0or1>: Googoleã®PDFiumViewerエンジンを使用ã™ã‚‹(default=1> + [未]/BM,/BT,/BA,/BA,/BC: Select one box.(default=/BC:CrobBox): Boxies:MediaBox/BleedBox/TrimBox/ArtBox/CropBox [Make Hash command] 比較用ãƒãƒƒã‚·ãƒ¥å€¤ä½œæˆã‚³ãƒžãƒ³ãƒ‰ {pgName} /MkHash ...... /MKHash : ãƒãƒƒã‚·ãƒ¥å€¤ã‚’出力ã™ã‚‹ã€‚å‰è¨˜ã®[Render Options]を指定ã™ã‚‹ã“㨠- [HASHファイル作æˆ] [Compare command] 比較コマンド - {pgName} /FC ...... + {pgName} /FC ...... [/F] [/Ref|Refernce] /FC : 2ã¤ã®PDFを比較ã™ã‚‹ã€‚å‰è¨˜ã®[Render Options]を指定ã™ã‚‹ã“ã¨ã€‚ç„¡å引数ãŒ2ã¤å¿…è¦ã§ã™ 事å‰ã«/MkHashを実行ã—ã¦ãŠãã“ã¨ã§é«˜é€Ÿã«å‡¦ç†ã§ãã‚‹ - /RESULT : æ¯”è¼ƒçµæžœã‚’æ ¼ç´ã™ã‚‹ãƒ•ァイルパス + /Ref|Reference <> : 比較ファイル指定 + /Result : æ¯”è¼ƒçµæžœã‚’æ ¼ç´ã™ã‚‹ãƒ•ァイルパス /FCコマンドを指定ã™ã‚‹ã¨ä¸€è‡´ã—ãŸã‚‰0,ä¸ä¸€è‡´ãªã‚‰1ã‚’è¿”å´ã™ã‚‹ã‚ˆã†ã«ãªã‚‹ ã¯ã€,<[OK] or [@Difference]>ã®è¡Œã§æ§‹æˆã•れる [ELSE ] ãã®ä»–ã®ã‚ªãƒ—ション - /NoExeSepa :実行分離ã—ãªã„(é…ã„) /Para <プロセス並行数>:本Exeã®ä¸¦è¡Œæ•°ã‚’指定(デフォルト4) /ParaPage <ページ処ç†ã‚¹ãƒ¬ãƒƒãƒ‰æ•°>:ページ処ç†ã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã‚’指定(デフォルト4) + [obs]/NoExeSepa :実行分離ã—ãªã„(é…ã„) /H or /? : This help"); // HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH @@ -201,9 +203,11 @@ For more information,see /H /? or /? return -1; } else if (isOpt("/F")) { pm.pdfPath = (qu.Count > 0) ? qu.Dequeue() : "";// next word. - } else if (isOpt("/O")) { + } else if (isOpt("/Ref","/Reference")) { + pm.pdfPathRef = (qu.Count > 0) ? qu.Dequeue() : "";// next word. + } else if (isOpt("/O","/Output")) { pm.outuptImageDir = (qu.Count > 0) ? qu.Dequeue() : "";// next word. - } else if (isOpt("/D")) { + } else if (isOpt("/D","/DPI")) { pm.dpi = (qu.Count > 0) ? qu.Dequeue() : "";// next word. if (!double.TryParse(pm.dpi, out double dmy)) { Console.WriteLine($"è§£åƒåº¦ãŒä¸æ­£ã§ã™:/D {pm.dpi}"); @@ -220,11 +224,11 @@ For more information,see /H /? or /? } else if (isOpt("/ParaPage")) { string paraNum = (qu.Count > 0) ? qu.Dequeue() : "";// next word. if (!int.TryParse(paraNum, out pm.paraPage)){ - Console.WriteLine($"並行数(ページスレッド数ãŒä¸æ­£ã§ã™:/paraPage {paraNum}"); + Console.WriteLine($"並行数(ページスレッド数ãŒä¸æ­£ã§ã™:/ParaPage {paraNum}"); DispHelpNoArg(); return -1; } - } else if (isOpt("/P")) { + } else if (isOpt("/P","/Page")) { pm.pageRange = (qu.Count > 0) ? qu.Dequeue() : "";// next word. } else if (isOpt("/JPG", "/JPEG")) { pm.imageType = "JPG"; @@ -277,8 +281,6 @@ For more information,see /H /? or /? var arg = (qu.Count > 0) ? qu.Dequeue() : "True";// next word. string[] sel = {"True","1","ON"}; pm.bVerbose = sel.Contains(arg, eIgnoreCase); - - } else if (isOpt("/SubExe")) { pm.subExe = (qu.Count > 0) ? qu.Dequeue() : null;// next word. var sp = pm.subExe.Split(':'); @@ -600,6 +602,7 @@ For more information,see /H /? or /? if ( !loopResult.IsCompleted ) { Console.WriteLine("Abort!"); pm.bMkHash = false;// Hash値ä¿å­˜æŠ‘制 + ret=-1; } ////tokenSource.Cancel();// 処ç†ã®ã‚­ãƒ£ãƒ³ã‚»ãƒ« //if ( tokenSource.IsCancellationRequested ) { @@ -674,6 +677,9 @@ For more information,see /H /? or /? watch.Stop(); var SummaryResult = $"\n[çµæžœ]\n"; + SummaryResult += $"Args ={argsStr}\n"; + SummaryResult += $"Target ={pm.pdfPath}\n"; + SummaryResult += $"Reference={pm.pdfPathRef}\n"; SummaryResult += $"䏿•´åˆãƒ•ァイル群={pdfPathLstNoBoth.Count()}\n"; foreach (var f in pdfPathLstNoBoth) { SummaryResult += $"\tWarning [no match]={f}\n"; @@ -688,7 +694,8 @@ For more information,see /H /? or /? File.WriteAllText(Path.GetFullPath(pm.resultPath), (SummaryResult + rData)); } echo($"****************[終了]セパã®FCモード***{argsStr}***************"); - } else { // NoExeSepa + ret = noMatchPageNum;// 返値 0:OK,!0=ä¸ä¸€è‡´Pageæ•° + } else { // NoExeSepa -> Obsolate echo($@"****************NoExeSepa*****{argsStr}**************"); if (pm.resultPath != "") {// åˆæœŸåŒ– File.WriteAllText(Path.GetFullPath(pm.resultPath), ""); @@ -736,7 +743,7 @@ For more information,see /H /? or /? } watch.Stop(); Console.WriteLine($"result={ret},time={ watch.ElapsedMilliseconds / 1000.0 }[sec]"); - return ret;//success. + return ret;//success. // 返値 0:OK,!0=ä¸ä¸€è‡´Pageæ•° } // リソースã‹ã‚‰ã®å–å¾— diff --git a/bin/Release/CSRender.exe b/bin/Release/CSRender.exe index 620d841505545f45132fb8a918713f5b8b78bb3b..006e3d54e5871083a3d43097fe0df579a38e99a7 100644 Binary files a/bin/Release/CSRender.exe and b/bin/Release/CSRender.exe differ