From aba0247d146659dae9e9b5afc26d3875a5768cc0 Mon Sep 17 00:00:00 2001 From: callmeyan Date: Fri, 29 Mar 2024 02:42:25 +0800 Subject: [PATCH] fixed position error --- .vs/AIProofread/v17/.suo | Bin 263168 -> 266752 bytes AIProofread/Bridge.cs | 99 +++++++++++++++++- AIProofread/ProofreadItem.cs | 32 ++++-- ...AIProofread.csproj.AssemblyReference.cache | Bin 15459 -> 15459 bytes AIProofread/obj/Debug/AIProofread.dll | Bin 384512 -> 386048 bytes AIProofread/obj/Debug/AIProofread.pdb | Bin 118272 -> 122368 bytes util-lib/DocumentCorrectItem.cs | 14 +++ util-lib/util-lib.csproj | 1 + 8 files changed, 134 insertions(+), 12 deletions(-) create mode 100644 util-lib/DocumentCorrectItem.cs diff --git a/.vs/AIProofread/v17/.suo b/.vs/AIProofread/v17/.suo index ba807cf2c6a03d1a53f7ab8214520748e5d443af..fc9e454398d42c7be19e7ea610243d25f388b593 100644 GIT binary patch delta 13136 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 IaP{2(2Mx{E-~a#s diff --git a/AIProofread/Bridge.cs b/AIProofread/Bridge.cs index a457976..8c2a178 100644 --- a/AIProofread/Bridge.cs +++ b/AIProofread/Bridge.cs @@ -1,15 +1,21 @@ using AIProofread.Controls; using Microsoft.Office.Interop.Word; +using Microsoft.Office.Tools.Word; using Microsoft.Web.WebView2.Core; using Microsoft.Web.WebView2.WinForms; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Diagnostics; +using System.Drawing; +using System.Linq; using System.Runtime.InteropServices; +using System.Runtime.InteropServices.ComTypes; using System.Text; using System.Text.RegularExpressions; +using System.Xml.Linq; using UtilLib; +using static System.Windows.Forms.VisualStyles.VisualStyleElement.Header; using static System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock; using Document = Microsoft.Office.Interop.Word.Document; @@ -311,14 +317,105 @@ namespace AIProofread Globals.ThisAddIn.SendMessageToWeb("select", proofreadId); marks[proofreadId].Select(); } + Globals.ThisAddIn.SendMessageToWeb("select_proofread", proofreadId); } - public void processMark(int proofreadId,int status) + public void processMark(int proofreadId, int status) { if (proofreadId > 0 && marks.ContainsKey(proofreadId)) { marks[proofreadId].Process(status); } } + + public void InitContent(string content) + { + List list = JsonConvert.DeserializeObject>(content); + // + clearAllProofreadMark(); + + //var app = Globals.ThisAddIn.Application; + //var cur = app.Selection; + // + foreach (var correct in list) + { + //cur.TypeText(correct.Insert); + //var rng = cur.Range; + if (correct.Diffs != null && correct.Diffs.Count > 0) + { + //var diffs = correct.Diffs.OrderBy(it => + //{ + // if (it.tag != "i") return it.start; + // return it.start + correct.Insert_len; + //}).ToList(); + int index = 0; + foreach (var item in correct.Diffs) + { + var mark = AddBookmark(item, index, correct.Offset, correct.Insert_len); + if (item.tag != "i") index++; + marks.Add(item.id, new ProofreadItem(item, mark)); + } + } + } + } + + + public Microsoft.Office.Tools.Word.Bookmark AddBookmark(CorrectedContent item, int findIndex, int offset, int length) + { + var document = Globals.ThisAddIn.Application.ActiveDocument; + ControlCollection controls = Globals.Factory.GetVstoObject(document).Controls; + var Start = offset; + var End = offset + length - 1; + // 整体选区的内容 + var fullRange = document.Range(Start, End); + string fullText = fullRange.Text; + End = offset + item.start; + Start = offset + item.end; + + Microsoft.Office.Tools.Word.Bookmark bookmark = null; + var r = document.Range(End, Start); + var markName = Config.BuildBookmarkName(item.id); + + // 判断是否已经存在 + if (controls.Contains(markName)) + { + controls.Remove(markName); + } + // 判断选区是否正确 + if (item.tag == "i" || r.Text == item.origin) + { + bookmark = controls.AddBookmark(r, markName); + bookmark.Tag = "ai_proofread"; + if (item.color != null) + { + // 给选区添加背景颜色 + r.Shading.BackgroundPatternColor = (WdColor)ColorTranslator.ToOle(Colors.FromHex(item.color)); + } + } + else + { + int startPos = 0, index,findCount = 0; + while ((index = fullText.IndexOf(item.origin, startPos)) != -1) + { + if (findCount == findIndex) + { + r = document.Range(offset + index, offset + index + item.origin.Length); + bookmark = controls.AddBookmark(r, markName); + bookmark.Tag = "ai_proofread"; + if (item.color != null) + { + // 给选区添加背景颜色 + r.Shading.BackgroundPatternColor = (WdColor)ColorTranslator.ToOle(Colors.FromHex(item.color)); + } + break; + } + startPos = index; + findCount++; + } + } + + return bookmark; + } + } } diff --git a/AIProofread/ProofreadItem.cs b/AIProofread/ProofreadItem.cs index 3747a01..d74c5ca 100644 --- a/AIProofread/ProofreadItem.cs +++ b/AIProofread/ProofreadItem.cs @@ -3,6 +3,7 @@ using System; using System.Drawing; using AIProofread; using Microsoft.Office.Interop.Word; +using Microsoft.Office.Tools.Word; using Bookmark = Microsoft.Office.Tools.Word.Bookmark; namespace UtilLib @@ -16,16 +17,20 @@ namespace UtilLib public ProofreadItem(CorrectedContent content) { this.content = content; - InitBookMark(); + InitBookMark(null); } - private void InitBookMark() + public ProofreadItem(CorrectedContent content, Bookmark bookmark) + { + this.content = content; + InitBookMark(bookmark); + } + + private void InitBookMark(Bookmark bookmark) { // 创建mark - this.mark = DocumentUtil.AddBookmark( - content.tag == "i" ? null : content.color, - content.start, content.end - ); + this.mark = bookmark != null ? bookmark + : DocumentUtil.AddBookmark(content.tag == "i" ? null : content.color, content.start, content.end); if (mark != null) { // 记录目前字体 @@ -57,6 +62,10 @@ namespace UtilLib if (mark != null) { mark.Range.Font.Size = originSize + 2; // 将选中标签文本放大字体 + //Globals.ThisAddIn.Application.ActiveWindow.View.Type = Microsoft.Office.Interop.Word.WdViewType.wdOutlineView; + //Globals.ThisAddIn.Application.ActiveWindow.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekPrimaryHeader; + //Globals.ThisAddIn.Application.ActiveWindow.Activate(); + mark.Select(); } } public void UnSelect() @@ -85,12 +94,13 @@ namespace UtilLib content.isAccept = status; if (status == AcceptStatus.Accept) { - if(content.tag == "r" || content.tag == "i") + if (content.tag == "r" || content.tag == "i") { mark.Text = content.text; - }else if (content.tag == "d") + } + else if (content.tag == "d") { - mark.Text = "\u200C"; + mark.Text = ""; } ResetMarkStyle(); } @@ -104,9 +114,9 @@ namespace UtilLib { mark.Text = content.origin; } - else if(content.tag == "i") + else if (content.tag == "i") { - mark.Text = "\u200C"; + mark.Text = ""; } SetMarkStyle(); } diff --git a/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache b/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache index 46fb2a45e9278b58afec6304b17af69694191e08..8a2ed3cf396ebd2a65fd4c5c22985cc62b9eac3a 100644 GIT binary patch delta 16 YcmaD{@wj3_6zj*|%kJxKjAyX{08zRKl>h($ delta 16 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 delta 20006 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 Jy86G^{{Z98TiE~r diff --git a/util-lib/DocumentCorrectItem.cs b/util-lib/DocumentCorrectItem.cs new file mode 100644 index 0000000..274695c --- /dev/null +++ b/util-lib/DocumentCorrectItem.cs @@ -0,0 +1,14 @@ +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; } + public int Offset { get; set; } + public List Diffs { get; set; } + } +} diff --git a/util-lib/util-lib.csproj b/util-lib/util-lib.csproj index ddd5e78..5c5c213 100644 --- a/util-lib/util-lib.csproj +++ b/util-lib/util-lib.csproj @@ -45,6 +45,7 @@ +