From d2e960243cab7dfbc816e718cdf9b072a657f023 Mon Sep 17 00:00:00 2001 From: callmeyan Date: Sat, 24 Aug 2024 12:20:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=9A=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E6=A0=A1=E5=AF=B9=E6=80=A7=E8=83=BD;=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=A4=9A=E6=96=87=E6=A1=A3=E5=90=8C=E6=97=B6=E6=A0=A1=E5=AF=B9?= =?UTF-8?q?=E6=97=B6=E6=9C=89=E5=87=A0=E7=8E=87=E6=95=B0=E6=8D=AE=E9=94=99?= =?UTF-8?q?=E4=B9=B1=E7=9A=84=E9=97=AE=E9=A2=98;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/AIProofread/v17/.suo | Bin 1131008 -> 1632768 bytes AIProofread/Bridge.cs | 161 ++++++++++----- AIProofread/Config.cs | 9 + AIProofread/ProofreadItem.cs | 10 +- AIProofread/Ribbon1.Designer.cs | 9 - AIProofread/Ribbon1.cs | 27 +-- AIProofread/ThisAddIn.cs | 32 +-- AIProofread/core/DocumentUtil.cs | 186 ++++++++---------- ...AIProofread.csproj.AssemblyReference.cache | Bin 154083 -> 154164 bytes .../AIProofread.csproj.GenerateResource.cache | Bin 1274 -> 1274 bytes AIProofread/obj/Debug/AIProofread.dll | Bin 446976 -> 446976 bytes AIProofread/obj/Debug/AIProofread.pdb | Bin 185856 -> 187904 bytes .../DesignTimeResolveAssemblyReferences.cache | Bin 52723 -> 1380 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 24083 -> 24123 bytes util-lib/AppConfig.cs | 4 + util-lib/CorrectedContent.cs | 30 +++ util-lib/DocumentCorrectItem.cs | 36 +++- 17 files changed, 292 insertions(+), 212 deletions(-) diff --git a/.vs/AIProofread/v17/.suo b/.vs/AIProofread/v17/.suo index ea793372959de56c812e9a1992fc8945bb441539..4d3c30c062c79b116ad70666b9d11dcc7b29b225 100644 GIT binary patch delta 34951 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 - //var mark = DocumentUtil.AddBookmark(item.color, item.start, item.end); - // 初始化校对对象 - marks.Add(item.id, new ProofreadItem(item)); - } + //public void addBookmark(string data) + //{ + // var item = JsonConvert.DeserializeObject(data); + // //var mark = DocumentUtil.AddBookmark(item.color, item.start, item.end); + // // 初始化校对对象 + // marks.Add(item.id, new ProofreadItem(item)); + //} public string getAllBookmark() { @@ -470,14 +496,14 @@ namespace AIProofread rng.Select(); } - public void SelectMarkById(int proofreadId) + public void SelectMarkById(int proofreadId,int documentId) { - + var doc = documentId < 1 ? Globals.ThisAddIn.Application.ActiveDocument : GetDocumentById(documentId); + // // 设置当前文档数据 - Globals.ThisAddIn.ActiveCurrentDocumentMarks(); + Globals.ThisAddIn.ActiveCurrentDocumentMarks(doc); if (proofreadId == selectProofreadId) return; - var doc = Globals.ThisAddIn.Application.ActiveDocument; // 取消上一个标签移除 if (selectProofreadId > 0 && marks.ContainsKey(selectProofreadId)) { @@ -540,34 +566,51 @@ namespace AIProofread } } - public string InitContent(string content) + public string InitContent(string content,int documentId) { try { + // 根据文档编号 获取当前文档避免数据混乱 + CurrentDocument = GetDocumentById(documentId); + if(CurrentDocument == null) + { + throw new Exception("没有找到校对文档对象"); + } List list = JsonConvert.DeserializeObject>(content); + // 先清除所有数据 - clearAllProofreadMark(); + clearAllProofreadMark(CurrentDocument); //var app = Globals.ThisAddIn.Application; //var cur = app.Selection; // + var prevOffset = 0; List disabledList = new List(); foreach (var correct in list) { if (correct.Diffs != null && correct.Diffs.Count > 0) { + prevOffset = 0; int index = 0; foreach (var item in correct.Diffs) { - if(item.id == 187117) + if (item.id == 187095) { Console.WriteLine("xx"); } - var mark = FindRangeAndCreateBookmark(correct.Insert, item, index, correct.Sentence_offset, correct.Insert_len, correct.Paragraph_num); + int _prev = prevOffset; + // 查找对应区域并再该区域添加书签 + var mark = FindRangeAndCreateBookmark(item, correct,ref prevOffset); + // 防止调用方法中没有更新 + if (_prev >= prevOffset) + { + prevOffset = correct.SentenceOffset + item.end; + } + if (item.tag != "i") index++; if (mark != null) { - marks.Add(item.id, new ProofreadItem(item, mark)); + marks.Add(item.id, new ProofreadItem(item, mark,documentId)); } else { @@ -576,8 +619,8 @@ namespace AIProofread {"message","没有找到标记对象" }, { "origin",item }, { "origin_correct",correct }, - { "new_text",correct.New_text }, - { "paragraph_num",correct.Paragraph_num }, + { "new_text",correct.NewText }, + { "paragraph_num",correct.ParagraphNumber }, }; Logger.Log(JsonConvert.SerializeObject(msg)); } @@ -646,21 +689,18 @@ namespace AIProofread ///

/// 根据校对项查找文档对应的位置 并创建书签 /// - /// 接口原始文档 - /// 校对项 - /// - /// - /// - /// + /// 校对项 + /// 校对 + /// /// - public Microsoft.Office.Tools.Word.Bookmark FindRangeAndCreateBookmark(string originText, CorrectedContent item, int findIndex, int offset, int length, int paragraphIndex) + public Microsoft.Office.Tools.Word.Bookmark FindRangeAndCreateBookmark(CorrectedContent correct, DocumentCorrectItem sentense,ref int prevOffset) { Microsoft.Office.Tools.Word.Bookmark bookmark = null; try { var document = CurrentDocument; ControlCollection controls = Globals.Factory.GetVstoObject(document).Controls; - var markName = Config.BuildBookmarkName(item.id); + var markName = Config.BuildBookmarkName(correct.id); // 判断是否已经存在 if (controls.Contains(markName)) @@ -672,14 +712,16 @@ namespace AIProofread catch (Exception) { } } Range findRange = null; - if (paragraphIndex > document.Paragraphs.Count) return null; - var paragraph = document.Paragraphs[paragraphIndex]; + // 判断段落是否存在 + if (sentense.ParagraphNumber > document.Paragraphs.Count) return null; + + var paragraph = document.Paragraphs[sentense.ParagraphNumber]; Range paragraphRange = paragraph.Range; var paragraphStart = paragraphRange.Start; - //offset += paragraphStart; - var Start = paragraphStart + offset; - var End = Start + length - 1; + + var Start = paragraphStart + sentense.SentenceOffset; + var End = Start + sentense.InsertLength - 1; if (End > paragraphRange.End) { End = paragraphRange.End; @@ -691,16 +733,22 @@ namespace AIProofread string fullText = fullRange.Text ?? paragraphRange.Text; // 当前段落文本 string paragraphText = paragraphRange.Text; - End = Start + item.end; - Start = Start + item.start; + End = Start + correct.end; + Start = Start + correct.start; + // 避免越界 + prevOffset = Math.Min(prevOffset, paragraphText.Length - 1); + int offset = sentense.SentenceOffset; + int length = sentense.InsertLength; + string originText = sentense.Insert; // 如果是新增 则查找定位 - if (item.tag == "i") + if (correct.tag == "i") { // s1. 通过接口的位置 和 文档内容进行比对 try { + // 判断接口的定位字符串和文档截取的字符串是否一致 if (paragraphText.Substring(offset, length) == originText) { // 直接使用接口定位 @@ -715,20 +763,20 @@ namespace AIProofread if (findRange == null) { // 找前缀 - var prefix = item.start > 2 ? ( - item.start > INSERT_FIND_OFFSET - ? originText.Substring(item.start - INSERT_FIND_OFFSET, INSERT_FIND_OFFSET) - : originText.Substring(0, item.start) + var prefix = correct.start > 2 ? ( + correct.start > INSERT_FIND_OFFSET + ? originText.Substring(correct.start - INSERT_FIND_OFFSET, INSERT_FIND_OFFSET) + : originText.Substring(0, correct.start) ) : null; // 找后缀 var suffix = prefix == null ? ( - item.end + INSERT_FIND_OFFSET < originText.Length - ? originText.Substring(item.start, INSERT_FIND_OFFSET) - : originText.Substring(item.start, originText.Length - item.start) + correct.end + INSERT_FIND_OFFSET < originText.Length + ? originText.Substring(correct.start, INSERT_FIND_OFFSET) + : originText.Substring(correct.start, originText.Length - correct.start) ) : null; // 偏移量 var start = prefix != null || suffix != null - ? paragraphText.IndexOf(prefix ?? suffix, offset) // item.start + + ? paragraphText.IndexOf(prefix ?? suffix, prevOffset) : -1; if (start != -1) { @@ -741,14 +789,18 @@ namespace AIProofread { findRange = document.Range(Start, End); } - - if (item.tag != "i" && findRange.Text != item.origin) + // 不是新增模式 且定位区域文本和原始文本不匹配 + if (correct.tag != "i" && findRange.Text != correct.origin) { - findRange = DocumentUtil.FindRange(paragraphIndex, offset, originText, item.origin, item.start, item.end); + // 查找 + findRange = DocumentUtil.FindRange(correct,sentense,ref prevOffset,CurrentDocument, paragraphRange); } + // 能够找到对应的区域 则再对应区域添加书签 if (findRange != null) { + // 更新查找的结束位置 + prevOffset = findRange.End - paragraphStart; bookmark = controls.AddBookmark(findRange, markName); bookmark.Tag = "ai_proofread"; } @@ -801,6 +853,11 @@ namespace AIProofread return bookmark; } + /// + /// + /// + /// + /// private void FindRange(ref Range range, ref object whatToFind) { object matchCase = false; // 是否区分大小写 diff --git a/AIProofread/Config.cs b/AIProofread/Config.cs index db4fa12..00be04c 100644 --- a/AIProofread/Config.cs +++ b/AIProofread/Config.cs @@ -3,6 +3,12 @@ using System.Text.RegularExpressions; namespace AIProofread { + public enum AppEnvironment + { + Dev, + Test, + Prod + } public class Config { public static readonly string APP_NAME = "AI校对王"; @@ -16,10 +22,13 @@ namespace AIProofread /// public static string WEB_PATH = "http://192.168.10.100:5173/"; public static bool RUN_IN_DEBUG = true; + public static AppEnvironment APP_ENV = AppEnvironment.Dev; #else public static string WEB_PATH = "https://gm-plugin.gachafun.com/"; public static bool RUN_IN_DEBUG = false; + public static AppEnvironment APP_ENV = AppEnvironment.Prod; #endif + public static readonly string APP_DATA_PATH = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\ai_proofread"; public static readonly string APP_LOG_PATH = APP_DATA_PATH + "\\logs\\"; public static readonly string WEB_DATA_PATH = APP_DATA_PATH + "\\userdata"; diff --git a/AIProofread/ProofreadItem.cs b/AIProofread/ProofreadItem.cs index fdeb7c4..b2a617c 100644 --- a/AIProofread/ProofreadItem.cs +++ b/AIProofread/ProofreadItem.cs @@ -16,9 +16,12 @@ namespace UtilLib private WdColor originColor; private WdColor originBackgroundColor; public string Name { get; set; } - public ProofreadItem(CorrectedContent content) + public int DocumentId { get; set; } + + public ProofreadItem(CorrectedContent content,int documentId) { this.content = content; + this.DocumentId = documentId; InitBookMark(null); SetMarkName(); } @@ -28,8 +31,9 @@ namespace UtilLib this.Name = this.mark != null ? mark.Name : Config.BuildBookmarkName(content.id); } - public ProofreadItem(CorrectedContent content, Bookmark bookmark) + public ProofreadItem(CorrectedContent content, Bookmark bookmark, int documentId) { + this.DocumentId = documentId; this.content = content; if (bookmark != null) { @@ -68,7 +72,7 @@ namespace UtilLib private void OnMarkSelected(object sender, Microsoft.Office.Tools.Word.SelectionEventArgs e) { //throw new System.NotImplementedException(); - Bridge.bridge.SelectMarkById(content.id); + Bridge.bridge.SelectMarkById(content.id,DocumentId); } public void Select() diff --git a/AIProofread/Ribbon1.Designer.cs b/AIProofread/Ribbon1.Designer.cs index 1b6ba24..d5e3d15 100644 --- a/AIProofread/Ribbon1.Designer.cs +++ b/AIProofread/Ribbon1.Designer.cs @@ -51,7 +51,6 @@ namespace AIProofread this.grpDebug = this.Factory.CreateRibbonGroup(); this.btnShowPane = this.Factory.CreateRibbonButton(); this.btnHidePane = this.Factory.CreateRibbonButton(); - this.btnSelectionPosition = this.Factory.CreateRibbonButton(); this.BtnOpenLog = this.Factory.CreateRibbonButton(); this.button1 = this.Factory.CreateRibbonButton(); this.tabAIProofread.SuspendLayout(); @@ -170,7 +169,6 @@ namespace AIProofread // this.grpDebug.Items.Add(this.btnShowPane); this.grpDebug.Items.Add(this.btnHidePane); - this.grpDebug.Items.Add(this.btnSelectionPosition); this.grpDebug.Items.Add(this.BtnOpenLog); this.grpDebug.Items.Add(this.button1); this.grpDebug.Label = "开发调试"; @@ -189,12 +187,6 @@ namespace AIProofread this.btnHidePane.Name = "btnHidePane"; this.btnHidePane.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(this.btnHidePane_Click); // - // btnSelectionPosition - // - this.btnSelectionPosition.Label = "测试分段速度"; - this.btnSelectionPosition.Name = "btnSelectionPosition"; - this.btnSelectionPosition.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(this.btnSelectionPosition_Click); - // // BtnOpenLog // this.BtnOpenLog.Label = "打开日志目录"; @@ -240,7 +232,6 @@ namespace AIProofread internal Microsoft.Office.Tools.Ribbon.RibbonGroup grpDebug; internal Microsoft.Office.Tools.Ribbon.RibbonButton btnShowPane; internal Microsoft.Office.Tools.Ribbon.RibbonButton btnHidePane; - internal Microsoft.Office.Tools.Ribbon.RibbonButton btnSelectionPosition; internal Microsoft.Office.Tools.Ribbon.RibbonButton BtnOpenLog; internal Microsoft.Office.Tools.Ribbon.RibbonButton button1; } diff --git a/AIProofread/Ribbon1.cs b/AIProofread/Ribbon1.cs index 5daae1d..61d546f 100644 --- a/AIProofread/Ribbon1.cs +++ b/AIProofread/Ribbon1.cs @@ -31,6 +31,9 @@ namespace AIProofread ShowDebug(); } + /// + /// 用于调试或测试 + /// public void ShowDebug() { if (Config.RUN_IN_DEBUG) @@ -136,7 +139,7 @@ namespace AIProofread var result = MessageBox.Show("请确认是否清除此文档的所有校对标注?", "提示", MessageBoxButtons.OKCancel); if(result == DialogResult.OK) { - Bridge.bridge.clearAllProofreadMark(); + Bridge.bridge.clearAllProofreadMark(null); Globals.ThisAddIn.SendMessageToWeb("clear-tips", null); } } @@ -153,28 +156,6 @@ namespace AIProofread private Microsoft.Office.Interop.Word.Document CurrentDocument; - private void btnSelectionPosition_Click(object sender, RibbonControlEventArgs e) - { - // 测试加快速度处理 段落 - //CurrentDocument = Globals.ThisAddIn.Application.ActiveDocument; - //var tables = CurrentDocument.Tables; - //var tableCount = tables.Count; - //System.Windows.Forms.MessageBox.Show("tables "+ tableCount); - - //var footNotes = CurrentDocument.Footnotes; - //System.Windows.Forms.MessageBox.Show("footNotes " + footNotes.Count); - //var endNotes = CurrentDocument.Endnotes; - //System.Windows.Forms.MessageBox.Show("endNotes " + endNotes.Count); - //Bridge.bridge.getDocumentData(); - CurrentDocument = Globals.ThisAddIn.Application.ActiveDocument; - - string path = Tools.GetReadDocumentFilePath(CurrentDocument); - Debug.WriteLine(path); - Logger.Log(path); - - System.Windows.Forms.MessageBox.Show("Test"); - } - private void TestSplit() { //try diff --git a/AIProofread/ThisAddIn.cs b/AIProofread/ThisAddIn.cs index e6e8831..f65f80c 100644 --- a/AIProofread/ThisAddIn.cs +++ b/AIProofread/ThisAddIn.cs @@ -47,6 +47,7 @@ namespace AIProofread public Dictionary taskPanels = new Dictionary(); public Dictionary panelsVisibleStatus = new Dictionary(); public Dictionary documentIdDics = new Dictionary(); + public CustomTaskPane currentDocumentTaskPane; private static readonly Dictionary> allMarks = new Dictionary>(); @@ -99,10 +100,10 @@ namespace AIProofread DisposePanel(currentDoc); } - public void ActiveCurrentDocumentMarks() + public void ActiveCurrentDocumentMarks(Word.Document document) { // 判断是否存在 没有的话初始化 - var currentDoc = Application.ActiveDocument; + var currentDoc = document ?? Application.ActiveDocument ; if (!allMarks.ContainsKey(currentDoc)) { allMarks[currentDoc] = new Dictionary(); @@ -121,6 +122,7 @@ namespace AIProofread Logger.Log("Application_DocumentOpen -- " + Doc.FullName); ShowPanel(Doc); } + void DisposePanel(Word.Document doc) { if (panelsVisibleStatus.ContainsKey(doc)) @@ -249,17 +251,22 @@ namespace AIProofread Logger.Log("Found app.json " + content); if (content == null || content.Length == 0) return; AppConfig config = JsonConvert.DeserializeObject(content); - if (config.AppUrl?.Length > 0) + + // 插件网址 + if (!string.IsNullOrEmpty(config.AppUrl)) { Config.WEB_PATH = config.AppUrl; } - if (config.AppRunInDebug) + // 运行环境 + if (!string.IsNullOrEmpty(config.Environment)) { - Config.RUN_IN_DEBUG = config.AppRunInDebug; - if (this.ribbon != null) - { - this.ribbon.ShowDebug(); - } + Config.APP_ENV = config.Environment == "dev" ? AppEnvironment.Dev : ( + config.Environment == "test" ? AppEnvironment.Test : AppEnvironment.Prod + ); + } + if (Config.APP_ENV != AppEnvironment.Prod && this.ribbon != null) + { + this.ribbon.ShowDebug(); } } } @@ -316,9 +323,6 @@ namespace AIProofread } } - - - private void Application_WindowSelectionChange(Word.Selection s) { if (s.Bookmarks != null) @@ -333,14 +337,14 @@ namespace AIProofread int proofreadId = Config.GetBookmarkIdByName(item.Name); if (proofreadId > 0) { - Bridge.bridge.SelectMarkById(proofreadId); + Bridge.bridge.SelectMarkById(proofreadId,0); return; } } } } } - Bridge.bridge.SelectMarkById(-1); + Bridge.bridge.SelectMarkById(-1,0); } public int MyProperty { get; set; } diff --git a/AIProofread/core/DocumentUtil.cs b/AIProofread/core/DocumentUtil.cs index a4ec23b..d1a280e 100644 --- a/AIProofread/core/DocumentUtil.cs +++ b/AIProofread/core/DocumentUtil.cs @@ -160,47 +160,48 @@ namespace AIProofread return list; } - private static readonly int INSERT_FIND_OFFSET = 5; /// - /// 查找对应段落的range + /// 查找偏移量 /// - /// 段落index,从第1开始计数 - /// 当前偏移量 - /// 要查找字符串 - /// 字符串原始起始位置 - /// 字符串原始结束位置 + private static readonly int INSERT_FIND_OFFSET = 5; + + /// + /// 查找校对项对应的range + /// + /// 校对项 + /// 当前校对项所在句子 + /// 上一个校对项结束位置 + /// + /// /// - public static Range FindRange(int paragraphsIndex,int offset,string originText, string findText, int wordStart, int wordEnd) + public static Range FindRange(CorrectedContent correct, DocumentCorrectItem sentense,ref int prevOffset, Microsoft.Office.Interop.Word.Document document, Range range) { - // 暂时接口无法支持 - var document = Globals.ThisAddIn.Application.ActiveDocument; - if (paragraphsIndex > document.Paragraphs.Count) return null; - var paragraph = document.Paragraphs[paragraphsIndex]; - var range = paragraph.Range; var paragraphText = range.Text; + + string findText = correct.origin; + int wordStart = correct.start; + int wordEnd = correct.end; + + int offset = sentense.SentenceOffset; + string originText = sentense.Insert; + + object Start = range.Start + offset + wordStart; + object End = range.Start + offset + wordEnd; + try { - //int num = 0; - int num3 = 0; - - // 段落开始和结束 - object Start = paragraph.Range.Start; - object End = paragraph.Range.End; - - // 段落选区 - //Range range = document.Range(ref Start, ref End); - var activeDocument = document; // 查找对象位置 - End = range.Start + offset + wordStart; - Start = range.Start + offset + wordEnd; + End = range.Start + offset + wordEnd; + Start = range.Start + offset + wordStart; // 直接找到 - var findRange = activeDocument.Range(ref End, ref Start); + var findRange = activeDocument.Range(ref Start,ref End); // 判断对应选区是否是要找的文本 if (findRange.Text == findText) { return findRange; } + #region 使用前后关联进行强匹配 // 找前缀 var prefix = wordStart > 2 ? ( wordStart > INSERT_FIND_OFFSET @@ -214,53 +215,25 @@ namespace AIProofread : originText.Substring(wordStart, originText.Length - wordStart) ) : null; var start = prefix != null || suffix != null - ? paragraphText.IndexOf(prefix ?? suffix, offset) // item.start + + ? paragraphText.IndexOf(prefix ?? suffix, prevOffset) // item.start + : -1; + if (start != -1) { var findOffset = range.Start + start + (prefix != null ? prefix.Length : 0); findRange = document.Range(findOffset, findOffset + wordEnd - wordStart); - if(findRange.Text == findText) { return findRange; } + if (findRange.Text == findText) { return findRange; } } - var msg = new Dictionary{ - {"message","后端接口位置不可用,开始执行查找" }, - { "origin_start",wordStart }, - { "origin_end",wordEnd }, - {"find_text",findRange.Text }, - {"origin_text", findText} - }; - Logger.Log(JsonConvert.SerializeObject(msg)); - // 查找 - range.Find.MatchByte = true; - // 使用选区查找功能 - Find find = range.Find; - // 节约变量 - End = findText; - Start = true; + #endregion - object MatchWholeWord = Type.Missing; - object MatchWildcards = Type.Missing; - object MatchSoundsLike = Type.Missing; - object MatchAllWordForms = Type.Missing; - object Forward = Type.Missing; - object Wrap = Type.Missing; - object Format = Type.Missing; - object ReplaceWith = Type.Missing; - object Replace = Type.Missing; - object MatchKashida = Type.Missing; - object MatchDiacritics = Type.Missing; - object MatchAlefHamza = Type.Missing; - object MatchControl = Type.Missing; + // 使用段落字符串进行强匹配 + start = paragraphText.IndexOf(findText, prevOffset); + if (start != -1) + { + start += range.Start; + return document.Range(start, start + findText.Length); + } - // 没有找到则执行查询 - find.Execute( - ref End, ref Start, ref MatchWholeWord, - ref MatchWildcards, ref MatchSoundsLike, - ref MatchAllWordForms, ref Forward, ref Wrap, - ref Format, ref ReplaceWith, ref Replace, - ref MatchKashida, ref MatchDiacritics, - ref MatchAlefHamza, ref MatchControl - ); var msg1 = new Dictionary{ {"message",range.Find.Found?"搜索到可用位置":"没有搜索到可用位置" }, @@ -269,50 +242,51 @@ namespace AIProofread { "search_text",range.Text } }; Logger.Log(JsonConvert.SerializeObject(msg1)); - while (range.Find.Found) - { - var obj4 = range.Document; - MatchControl = range.Start; - MatchAlefHamza = range.End; - var range2 = obj4.Range(ref MatchControl, ref MatchAlefHamza); - num3 = range2.End; - if (range2.Text == findText) - { - return range2; - } - break; - //if (findIndex == num) - //{ + //while (range.Find.Found) + //{ + // var obj4 = range.Document; + // MatchControl = range.Start; + // MatchAlefHamza = range.End; + // var range2 = obj4.Range(ref MatchControl, ref MatchAlefHamza); + // num3 = range2.End; + // if (range2.Text == findText) + // { + // return range2; + // } + // break; + // //if (findIndex == num) + // //{ - //} - //num++; - //range.Find.MatchByte = true; - //Find find2 = range.Find; - //MatchAlefHamza = missword; - //MatchControl = true; - //MatchDiacritics = Type.Missing; - //MatchKashida = Type.Missing; - //Replace = Type.Missing; - //ReplaceWith = Type.Missing; - //Format = Type.Missing; - //Wrap = Type.Missing; - //Forward = Type.Missing; - //MatchAllWordForms = Type.Missing; - //MatchSoundsLike = Type.Missing; - //MatchWildcards = Type.Missing; - //MatchWholeWord = Type.Missing; - //Start = Type.Missing; - //End = Type.Missing; - //// 再次重复查找 - //find2.Execute(ref MatchAlefHamza, ref MatchControl, ref MatchDiacritics, ref MatchKashida, ref Replace, ref ReplaceWith, ref Format, ref Wrap, ref Forward, ref MatchAllWordForms, ref MatchSoundsLike, ref MatchWildcards, ref MatchWholeWord, ref Start, ref End); - } - if (num3 == 0) - { - return null; - } + // //} + // //num++; + // //range.Find.MatchByte = true; + // //Find find2 = range.Find; + // //MatchAlefHamza = missword; + // //MatchControl = true; + // //MatchDiacritics = Type.Missing; + // //MatchKashida = Type.Missing; + // //Replace = Type.Missing; + // //ReplaceWith = Type.Missing; + // //Format = Type.Missing; + // //Wrap = Type.Missing; + // //Forward = Type.Missing; + // //MatchAllWordForms = Type.Missing; + // //MatchSoundsLike = Type.Missing; + // //MatchWildcards = Type.Missing; + // //MatchWholeWord = Type.Missing; + // //Start = Type.Missing; + // //End = Type.Missing; + // //// 再次重复查找 + // //find2.Execute(ref MatchAlefHamza, ref MatchControl, ref MatchDiacritics, ref MatchKashida, ref Replace, ref ReplaceWith, ref Format, ref Wrap, ref Forward, ref MatchAllWordForms, ref MatchSoundsLike, ref MatchWildcards, ref MatchWholeWord, ref Start, ref End); + //} + //if (num3 == 0) + //{ + // return null; + //} } - catch (Exception) + catch (Exception ex) { + Logger.Log(ex); } return null; } diff --git a/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache b/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache index 73f621df6feae5891759afc88afc33da0f1b02a3..d11fd72f3d823e96f4425e1e1b173578fe7b2519 100644 GIT binary patch delta 55 zcmaF7nRCk)&Iu80m7BU!-yGf;w~(1_YGE{xIhmE^`ebF!z{&OMev?a?0-LK@+pAd_ Lw^y?=WrP3#xjhzJ delta 52 zcmV-40L%ZhvG%oZI0 diff --git a/AIProofread/obj/Debug/AIProofread.csproj.GenerateResource.cache b/AIProofread/obj/Debug/AIProofread.csproj.GenerateResource.cache index 36cc48b2a8ed5288658b2cef2b4a599eee139842..739a2f9bbc7fc02b9667521f4cf6d5401deecb4e 100644 GIT binary patch delta 23 ccmeyx`HOSIYZm^6TauSvJamVHk&yue0E6`iivR!s delta 23 ccmeyx`HOSIYZm_8_Jlpo2k&q&GBSVw0C_wIuK)l5 diff --git a/AIProofread/obj/Debug/AIProofread.dll b/AIProofread/obj/Debug/AIProofread.dll index f8461d5905cc824e309ee265c9e09b5a597910be..fad082e073c9606bf4e1baf8c16167ab0880fe51 100644 GIT binary patch delta 53732 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 delta 54293 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�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 diff --git a/AIProofread/obj/Debug/AIProofread.pdb b/AIProofread/obj/Debug/AIProofread.pdb index b924169dbf02b15ec2593dc3e7012d1bbca3bd79..987a942fd64457e7895345a87e2e38d02c7fe3c8 100644 GIT binary patch delta 45967 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 delta 45910 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 Cx&Vv- diff --git a/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferences.cache index 2263c5b2ddc544b034215e6b2d973ff976b12d5d..82225bcb742829a70868afc742c78f15bb42d034 100644 GIT binary patch delta 99 zcmV-p0G$8xn*-zu2nGQJ00001jgzs6Ig{ujFOv)#ij&||4U^3tc#|L-6O(3Vu>t{b zlYt2xlVBSUlNlgMlm8@{lQ6mnlRpYflk8U|lm9Ib0b!F7p;ePX2P%^o6@HUw&0Uko F5iYqEBa;9C literal 52723 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 diff --git a/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 86a0cb8e0c65f2633794c88dad8579a60df4961f..741e8f9d932dac9007a966a7ae0a5231f99b2c21 100644 GIT binary patch delta 119 zcmbQdhjI5F#trKk8G|PWidsyrW9JblNKDR7OiwM=OU}A#trKk89gT(^6O3Bz$L<=mz-YLjS0!fEOtyu@yye6NiEJy&r2=RtH{m4(7l + /// dev | test | product + /// + public string Environment { get; set; } } } diff --git a/util-lib/CorrectedContent.cs b/util-lib/CorrectedContent.cs index 529c801..1d5b6f2 100644 --- a/util-lib/CorrectedContent.cs +++ b/util-lib/CorrectedContent.cs @@ -2,15 +2,45 @@ { public class CorrectedContent { + /// + /// 校对类别() + /// public string tag { get; set; } + /// + /// 校对原始文本 + /// public string origin { get; set; } + /// + /// 校对文本 + /// public string text { get; set; } + /// + /// 校对项在句子中的开始位置 + /// public int start { get; set; } + /// + /// 校对项在句子中的结束位置 + /// public int end { get; set; } + /// + /// 校对项ID + /// public int id { get; set; } + /// + /// 校对项索引 + /// public int idx { get; set; } + /// + /// 校对所属分类 + /// public int type { get; set; } + /// + /// 校对状态 + /// public int isAccept { get; set; } + /// + /// 校对项颜色 + /// public string color { get; set; } } } diff --git a/util-lib/DocumentCorrectItem.cs b/util-lib/DocumentCorrectItem.cs index 22b16ef..060b4fe 100644 --- a/util-lib/DocumentCorrectItem.cs +++ b/util-lib/DocumentCorrectItem.cs @@ -1,17 +1,43 @@ -using System.Collections.Generic; +using Newtonsoft.Json; +using System.Collections.Generic; namespace UtilLib { public class DocumentCorrectItem { public string Key { get; set; } + /// + /// 句子原始文本(可能过滤掉空格等特殊字符) + /// public string Insert { get; set; } - public string New_text { get; set; } - public int Insert_len { get; set; } + + /// + /// 校对后的文本 + /// + [JsonProperty("new_text")] + public string NewText { get; set; } + + /// + /// 句子原始文本长度 + /// + [JsonProperty("insert_len")] + public int InsertLength { get; set; } public int Offset { get; set; } public int Paragraph_offset { get; set; } - public int Paragraph_num { get; set; } - public int Sentence_offset { get; set; } + /// + /// 句子所在文档的段落数(从1开始) + /// + [JsonProperty("paragraph_num")] + public int ParagraphNumber { get; set; } + + /// + /// 句子在段落中的其实位置 + /// + [JsonProperty("sentence_offset")] + public int SentenceOffset { get; set; } + /// + /// 当前句子的校对列表项 + /// public List Diffs { get; set; } } }