我刚开始使用Google应用程序脚本,然后按照加载项快速启动。
https://developers.google.com/apps-script/quickstart/docs
在快速启动中,您可以创建一个简单的外接程序,从文档中获取一个选择,并将其与LanguageApp服务进行转换。该示例使用以下内容获取底层文本:
function getSelectedText() {
var selection = DocumentApp.getActiveDocument().getSelection();
if (selection) {
var text = [];
var elements = selection.getSelectedElements();
for (var i = 0; i < elements.length; i++) {
if (elements[i].isPartial()) {
var element = elements[i].getElement().asText();
var startIndex = elements[i].getStartOffset();
var endIndex = elements[i].getEndOffsetInclusive();
text.push(element.getText().substring(startIndex, endIndex + 1));
} else {
var element = elements[i].getElement();
// Only translate elements that can be edited as text; skip images and
// other non-text elements.
if (element.editAsText) {
var elementText = element.asText().getText();
// This check is necessary to exclude images, which return a blank
// text element.
if (elementText != '') {
text.push(elementText);
}
}
}
}
if (text.length == 0) {
throw 'Please select some text.';
}
return text;
} else {
throw 'Please select some text.';
}
}它只获取文本:element.getText(),没有任何格式设置。
我知道底层对象不是html,但是有办法将选择转换成HTML字符串吗?例如,如果所选内容具有混合格式,如粗体:
这是一个带有粗体文本的示例
那么是否有任何方法、扩展、库等--比如element.getHTML() --可以返回这个?
这是一个带有粗体文本的示例。
而不是这个?
这是一个带有粗体文本的示例。
发布于 2021-07-07 23:55:13
这显然是一个解决办法,但您可以将Google复制/粘贴到Gmail中的草稿中,然后使用
GmailApp.getDraft(draftId).getMessage().getBody().toString();我发现这个线程试图跳过这一步,直接从Doc转到HTML,但我想我会分享。
https://stackoverflow.com/questions/47299478
复制相似问题