From ff81843f25bdf9f9b4b114b7be544aed68fd3fe0 Mon Sep 17 00:00:00 2001 From: Hendrik Leidinger Date: Thu, 22 Jan 2026 11:45:56 -0800 Subject: [PATCH 1/2] feat: api extension to support plain text insertion in word documents Signed-off-by: Hendrik Leidinger --- word/api.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/word/api.js b/word/api.js index cf71c44313..b2136b5935 100644 --- a/word/api.js +++ b/word/api.js @@ -2282,6 +2282,11 @@ background-repeat: no-repeat;\ return AscCommon.g_clipboardBase.Button_Paste(); }; + asc_docs_api.prototype.PastePlainText = function(text) + { + AscCommon.Editor_Paste_Exec(this, AscCommon.c_oAscClipboardDataFormat.Text, text, undefined, undefined, undefined, undefined, undefined); + }; + asc_docs_api.prototype.Share = function() { @@ -14817,6 +14822,7 @@ background-repeat: no-repeat;\ asc_docs_api.prototype['Update_ParaTab'] = asc_docs_api.prototype.Update_ParaTab; asc_docs_api.prototype['Cut'] = asc_docs_api.prototype.Cut; asc_docs_api.prototype['Paste'] = asc_docs_api.prototype.Paste; + asc_docs_api.prototype['PastePlainText'] = asc_docs_api.prototype.PastePlainText; asc_docs_api.prototype['Share'] = asc_docs_api.prototype.Share; asc_docs_api.prototype['asc_Save'] = asc_docs_api.prototype.asc_Save; asc_docs_api.prototype['forceSave'] = asc_docs_api.prototype.forceSave; From c5079032df272b9f8fc9b881509e92ab0e3141b7 Mon Sep 17 00:00:00 2001 From: Hendrik Leidinger Date: Thu, 22 Jan 2026 15:02:06 -0800 Subject: [PATCH 2/2] api extension for cell and slide Signed-off-by: Hendrik Leidinger --- cell/api.js | 6 ++++++ slide/api.js | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/cell/api.js b/cell/api.js index 1d4167a97b..9e991b848d 100644 --- a/cell/api.js +++ b/cell/api.js @@ -463,6 +463,11 @@ var editor; return AscCommon.g_clipboardBase.Button_Copy(); }; + spreadsheet_api.prototype.PastePlainText = function(text) { + + this.wb.pasteData(AscCommon.c_oAscClipboardDataFormat.Text, text, null, null, true); + }; + spreadsheet_api.prototype.asc_Paste = function() { if (!AscCommon.g_clipboardBase.IsWorking()) { return AscCommon.g_clipboardBase.Button_Paste(); @@ -9640,6 +9645,7 @@ var editor; prot["asc_Resize"] = prot.asc_Resize; prot["asc_Copy"] = prot.asc_Copy; prot["asc_Paste"] = prot.asc_Paste; + prot["PastePlainText"] = prot.PastePlainText; prot["asc_SpecialPaste"] = prot.asc_SpecialPaste; prot["asc_Cut"] = prot.asc_Cut; prot["asc_Undo"] = prot.asc_Undo; diff --git a/slide/api.js b/slide/api.js index 750717aa5e..be71df6cf8 100644 --- a/slide/api.js +++ b/slide/api.js @@ -1840,6 +1840,11 @@ background-repeat: no-repeat;\ return AscCommon.g_clipboardBase.Button_Paste(); }; + asc_docs_api.prototype.PastePlainText = function(text) + { + AscCommon.Editor_Paste_Exec(this, AscCommon.c_oAscClipboardDataFormat.Text, text, undefined, undefined, undefined, undefined, undefined); + }; + asc_docs_api.prototype.asc_ShowSpecialPasteButton = function(props) { if (window["NATIVE_EDITOR_ENJINE"]) @@ -9458,6 +9463,7 @@ background-repeat: no-repeat;\ asc_docs_api.prototype['Update_ParaTab'] = asc_docs_api.prototype.Update_ParaTab; asc_docs_api.prototype['Cut'] = asc_docs_api.prototype.Cut; asc_docs_api.prototype['Paste'] = asc_docs_api.prototype.Paste; + asc_docs_api.prototype['PastePlainText'] = asc_docs_api.prototype.PastePlainText; asc_docs_api.prototype['Share'] = asc_docs_api.prototype.Share; asc_docs_api.prototype['asc_Save'] = asc_docs_api.prototype.asc_Save; asc_docs_api.prototype['forceSave'] = asc_docs_api.prototype.forceSave;