GVKun编程网logo

Google Docs API:将文档导出为 HTML(google文档怎么导出)

2

关于GoogleDocsAPI:将文档导出为HTML和google文档怎么导出的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Apps脚本中的GoogleDocsAPI、GAS-Googl

关于Google Docs API:将文档导出为 HTMLgoogle文档怎么导出的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Apps 脚本中的 Google Docs API、GAS - Google Docs API - getActiveDocument().getCursor().getOffset() 在行尾为光标返回意外的“1”、getter 'docs' 被调用为 null接收者:null 尝试调用:docs、Google Apps Script getText + replaceText 来自 Google Docs 中绘图内的文本框不可能? 参考等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

Google Docs API:将文档导出为 HTML(google文档怎么导出)

Google Docs API:将文档导出为 HTML(google文档怎么导出)

如何解决Google Docs API:将文档导出为 HTML

我可以通过这个 URL 导出一个 Google 文档,然后获取它的内容:

https://docs.google.com/Feeds/download/documents/export/Export?id=DOC_ID&exportFormat=html

但问题是无法知道页面何时开始或结束。 HTML 没有将每个页面包装在自己的 div 中,每个元素的类也没有描述它们的页码。

我想要做的只是从 Google 文档中提取文本和图像,同时知道文本和图像在哪个页面上。我真的不关心其他任何事情。

Apps 脚本中的 Google Docs API

Apps 脚本中的 Google Docs API

如何解决Apps 脚本中的 Google Docs API

我正在尝试将 Apps Script 与 Google Docs API 结合使用,以便在个人创建的子菜单中进行设置以更改文本颜色,具体取决于在子菜单中选择的选项。有人可以让我大致了解如何获取特定段落的当前颜色并将其设置为不同的颜色。

解决方法

要获取段落的当前前景色,请使用 Method:Paragraph.getAttribute 和 Method:Paragraph.setAttribute 设置前景色。

示例:

enter image description here

代码:

function myFunction() {
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  body.getParagraphs().forEach(par => {
    var style = {};
    if(par.getAttributes().FOREGROUND_COLOR == ''#ff0000''){
      style[DocumentApp.Attribute.FOREGROUND_COLOR] = ''#0000ff'';
    }else if(par.getAttributes().FOREGROUND_COLOR == ''#ff9900''){
      style[DocumentApp.Attribute.FOREGROUND_COLOR] = ''#008000'';
    }
    par.setAttributes(style);
  })
}

输出:

Output

以下是您可以使用的 Attributes 列表。

GAS - Google Docs API - getActiveDocument().getCursor().getOffset() 在行尾为光标返回意外的“1”

GAS - Google Docs API - getActiveDocument().getCursor().getOffset() 在行尾为光标返回意外的“1”

如何解决GAS - Google Docs API - getActiveDocument().getCursor().getOffset() 在行尾为光标返回意外的“1”?

我使用 CLASP,因此我的虚拟代码显示为 TypeScript。

如果我将 "test" 写入我的 google 文档并让光标位于我期望的字符串索引 4 处,Apps Script API 将返回 1 调用时:

const activeDocument = DocumentApp.getActiveDocument();
const cursor = activeDocument.getCursor();
const cursorOffset = cursor.getoffset();

这对我来说是一个真正的标题,因为当我将光标停留在字符串 "test" 的索引 1 处时,相同的代码返回预期的索引 >1

如何知道光标位于行尾或光标SurroundingText的{​​{1}}的实际索引1当偏移量相同时?


解决方案:

通过使用 Position 而不是 getSurroundingTextOffset() 解决了这个问题。

getoffset()

注意:这在使用 const activeDocument = DocumentApp.getActiveDocument(); const cursor = activeDocument.getCursor(); const cursorOffset = cursor.getSurroundingTextOffset(); 的情况下是有意义的。

在文档中阅读更多内容:https://developers.google.com/apps-script/reference/document/position#getSurroundingTextOffset()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

getter 'docs' 被调用为 null接收者:null 尝试调用:docs

getter 'docs' 被调用为 null接收者:null 尝试调用:docs

如何解决getter ''docs'' 被调用为 null接收者:null 尝试调用:docs

当我运行我的应用程序时,总是会出现一个错误:

The getter ''docs'' was called on null.
Receiver: null
Tried calling: docs

但一切正常,我该如何解决? 我认为 Flutter 有一个更新导致这段代码出错,因为我遇到了很多这样的问题。 我的代码中的重要部分:

return StreamBuilder(
        stream: FirebaseFirestore.instance
        .collection(''medicine'')
        .where(''userId'',isEqualTo: user.uid)
        .snapshots(),builder: (context,snapshot) {

    final doc = snapshot.data.docs;
    return ListView.builder(
    itemCount: doc.length,itemBuilder: (ctx,index) {

    if (snapshot.data == null) {
    return Center(
    child: CircularProgressIndicator(),);
    }
    return Container(
    child: Stack(
    children: [
    Row(
    children: [
    Flexible(
    child: Column(
    children: [
    Text(
    ''اسم الدواء: '' + doc[index][''medicationName''],textAlign: TextAlign.start,),],)
    ],);
    },));

解决方法

第一个流可以发出一个空快照。

您应该在访问文档之前检查快照是否有数据:

if(!snapshot.hasData) {
 return Center(child: CircularProgressIndicator());
} 
// if it has data,do your thing:
final doc = snapshot.data.docs;
return ListView( ..... )
,

使您的代码正常工作的另一种解决方案是使用 null safety 并将 snapshot.data 替换为 snapshot?.data

Google Apps Script getText + replaceText 来自 Google Docs 中绘图内的文本框不可能? 参考

Google Apps Script getText + replaceText 来自 Google Docs 中绘图内的文本框不可能? 参考

如何解决Google Apps Script getText + replaceText 来自 Google Docs 中绘图内的文本框不可能? 参考

我正在尝试在 google 文档中编辑 Avery 模板,并通过 Google Apps 脚本使用来自 google 表格的信息填充它。

我已经用 body.replaceText 替换文档中的占位符文本:

 for (var i in data) {
    var row = data[i];
    var docid = DriveApp.getFileById(templateid).makecopy().getId();
    var doc = DocumentApp.openById(docid);
    var body = doc.getActiveSection();
    body.replaceText("%NAME%",row[0]);
    body.replaceText("%ADD_LN1%",row[1]);
    body.replaceText("%ADD_LN2%",row[2]);

标签模板是一个表格,每个部分都有一个椭圆形绘图,我在文档中的椭圆形绘图中插入了一个文本框,我遇到的问题是我需要椭圆形绘图知道标签将打印在哪里)

当我运行脚本时,绘图内的占位符文本不会改变,但表格内或页面上的任何测试通常都会更改为 Google 表格信息。

这是我使用的标签模板:Label Page 我已将 %NAME& 标记放在标题中、图像上以及格式化为在页面上冻结的图像上(以防万一发生任何变化!)

目的:我有一个 Google 表格,其中填充了客户姓名地址和自定义选项(要打印到标签上的特定安全信息) 然后我让这个脚本将信息插入到标签文档中,然后我可以打印它而不必每次手动从头开始创建它们。

如果没有办法获取文本/替换绘图形状文本中的文本,有没有办法可以将圆形用作指南表,以便我可以将数据传输为标准?

如果您需要更多信息,请告诉我,我很生气,很困惑。

预先感谢您抽出时间阅读本文!

解决方法

遗憾的是,在现阶段,Google Apps Script 的方法中并没有直接修改图中文字的方法。 来自用户 - Tannaike

Google 幻灯片具有我一直在寻找的功能。

,

很遗憾,您无法使用 Apps 脚本更改绘图中的文本。

但是,作为一种可能的解决方法,您可能会受益于检查 InlineDrawing 类 here。

通过这种方式,您可以创建一个包含多个 InlineDrawing 类型对象的文档,然后您可以应用其中的一些方法:

  • setAltDescription(description) 设置绘图的替代描述;

  • setAltTitle(title) 设置绘图的替代标题;

  • setAttributes(attributes) 设置元素的属性。

但是,如果这不是您想要的,您可以在 Google 的问题跟踪器上提交功能请求,并相应地填写模板 here。

参考

  • Apps Script InlineDrawing Class。

今天关于Google Docs API:将文档导出为 HTMLgoogle文档怎么导出的介绍到此结束,谢谢您的阅读,有关Apps 脚本中的 Google Docs API、GAS - Google Docs API - getActiveDocument().getCursor().getOffset() 在行尾为光标返回意外的“1”、getter 'docs' 被调用为 null接收者:null 尝试调用:docs、Google Apps Script getText + replaceText 来自 Google Docs 中绘图内的文本框不可能? 参考等更多相关知识的信息可以在本站进行查询。

本文标签: