使用 HTML 文件输出 PDF

2023-12-02

我有一个 HTML 文件,我用它来发送电子邮件,但在某些情况下,我希望它只是使用该文件来创建相同模板的 PDF。

我已经让它大部分正常工作了——它创建文件、运行评估并获取内容,但它实际上并不渲染 html。它只是将所有 html 符号保留在原处。

例如,它输出一个 pdf,但内容如下:

Dear Martin, <br />

代替:

亲爱的马丁

如何确保它呈现 HTML,以便 PDF 布局正确,并且文本中没有注释 html 代码?

这是代码:

var docName = "test";
var htmlBody = HtmlService.createHtmlOutput(template.evaluate().getContent()).getContent()
var doc = DocumentApp.create(docName);
  doc.appendParagraph(htmlBody);
doc.saveAndClose();
DocsList.createFile(doc.getAs('application/pdf')).rename(docName);

您可以使用现有的 HTML 作为 blob,并将其转换为 PDF,如下所示:

var htmlBody = HtmlService.createHtmlOutputFromFile('my_file_within_script_project.html').getContent();
var blob = Utilities.newBlob(htmlBody, 'text/html').getAs('application/pdf').setName('my_output_in_drive.pdf');
DriveApp.createFile(blob);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 HTML 文件输出 PDF 的相关文章

  • 如何通过 Apps Script & Drive SDK 创建新的脚本文件

    尝试通过在 Apps 脚本中调用 Drive SDK 来创建包含文件的新项目 下面的内容到底会放在哪里UrlFetchApp要求 files id 9basdfbd 749a 4as9b b9d1 d64basdf803 name Code
  • 移动设备:缺少操作

    我正在尝试执行该操作的 POST 但是 当我发出请求时 我收到代码 400 表示操作值丢失 my code function mobileAPIPOST var response UrlFetchApp fetch https www go
  • Google Add-on 在有限模式应用脚本中添加菜单项

    我们在新的谷歌应用程序脚本添加商店中发布了一个插件 但在除安装的初始电子表格之外的任何电子表格中使用该插件时 权限似乎无法正常工作 我遇到一个问题 当创建新电子表格并且用户从 管理加载项 菜单中选择 使用此加载项 时 我们的菜单项不会填充
  • 测量填写部分的时间 - 谷歌表单

    我正在尝试使用谷歌表单进行研究调查问卷 对于某些部分 我想自动测量用户填写所需的时间 谷歌表单中没有这样的选项 我尝试复制表单源 并用 javascript 填充时间 但它不起作用 跨源问题 未能成功托管复制的表单 如何做到 我如何衡量回答
  • QUnit 删除依赖项上的方法会破坏针对该依赖项的测试

    在 Google Apps 脚本中 我正在对我正在开发的应用程序进行单元测试 使用 QUnit https github com simula innovation qunit tree gas gas 使用测试驱动开发 正在测试的代码 我
  • 如何让 Google Apps 脚本进行 SHA-256 加密?

    我需要使用文本输入 1 轮 十六进制输出 SHA 256 加密来加密字符串 这应该是一个长度为 64 的字符串 我在 Google Apps 脚本文档中尝试过的每个 SHA 256 加密模块都会返回一组数字 例如 function SHA2
  • 用于提交、评分和发回 Google 课堂作业的 Google Apps 脚本

    正如下面的评论中提到的 如果只有学生可以交一些东西 那么我就需要能够评分并返回作业 即使它还没有上交 澄清一下 作业是通过 API 完成的 我可以控制班级和学生 正如下面的附加评论中提到的 即使您不返回作业 学生仍然会看到分配的成绩 这实现
  • 列出 Google 云端硬盘上特定演示文稿/文档的所有共享用户

    我们需要一份完整的列表 列出已获得 Google 云端硬盘上特定演示文稿 文档的 共享 查看权限的人员 我们有屏幕截图 但可能还不够 我们如何以编程方式检索这些信息 附加到 a 的属性File对象包括三个与用户相关的项目 Owner 一个单
  • Google Apps 脚本自动生成的库文档

    我目前正在开发一个 Google Apps 脚本库 它基本上将电子表格视为数据库对象 目前 该库有两个相同的功能 例如 Opens and creates a query object for a spreadsheet with the
  • 如何从 Google 电子表格中删除项目?

    我通过在脚本编辑器上选择 文件 gt 制作副本 错误地制作了 Google Apps 脚本项目的副本 从那时起 每次我在该项目所属的电子表格屏幕上单击 工具 gt 脚本编辑器 时 我看到显示两个项目 原始项目和复制项目 的屏幕 我需要选择一
  • 电子表格的 Google 脚本(If 语句)

    我希望有人能帮助我解决这个问题 我是编码新手 我有一个谷歌电子表格 其中有一个可以推送电子邮件的脚本 我试图让脚本忽略脚本已发送电子邮件的行 function onOpen var ui SpreadsheetApp getUi Or Do
  • 如果您有多个表单向单个电子表格发送响应,Google 如何知道提交表单时要执行哪个 onsubmit 触发器

    我需要有人澄清 据我了解 多个表单可以将其回复发送到新 Google 表格中的单个电子表格 因此 我创建了两个 Google 表单 并让他们都将回复发送到新的 Google 电子表格 然后我在电子表格 而不是表单 中创建了两个脚本 每个脚本
  • 如何使用脚本格式化 Google 文档中的文本

    我想编写一个脚本来查找所有特定单词并格式化它们的颜色 我尝试了以下操作 但似乎不起作用 function ChangeColor var body DocumentApp getActiveDocument getBody var mywo
  • Google Web Apps - 获取用户电子邮件但以所有者身份运行脚本

    我最近迷上了谷歌网络应用程序 但我遇到了一些进退两难的问题 我正在尝试构建一个对非常特定的用户开放的应用程序 并且他们正在查看的数据根据 其访问组进行过滤 在谷歌表格中 我列出了用户电子邮件及其各自的访问组 A 列 电子邮件 B 列 访问组
  • javascript 对象是否像 Ruby 一样“开放”?

    在 Ruby 中 我可以使用与声明自己的语法相同的语法来添加和修改任何类 对象或方法的功能 因为 Ruby 有 开放类 JavaScript 是这样的吗 举个例子 就我而言 我想更改 Google Apps 脚本处理 URL 对象的方式 以
  • Google Apps 脚本中 ui.alert 窗口中的分割线和粗体文本

    我觉得这应该很简单 但我找不到任何相关内容 我希望我的消息在 ui alert 窗口中弹出 以粗体显示某些单词并在以下位置分割字符串 进入新行 这是我的代码 function send var ui SpreadsheetApp getUi
  • 如何修复 OnChange 脚本,该脚本运行良好,但在修改 Google 表格后停止运行

    概述 工作簿根据每条记录的类别分数计算每条记录 或行 的总体分数 类别分数是通过对每个记录的数百个数据点执行的计算得出的 根据我在网上找到的几个示例和教程 我编译了代码以发送名为 checkComplete 的 onChange 电子邮件
  • Google Apps 脚本中的地图对象支持

    Google Apps 脚本是否支持Map https developer mozilla org en docs Web JavaScript Reference Global Objects Map object 当我尝试使用它时 我得
  • 如何删除 GMail 标签 - Google Apps 脚本

    我想从放回收件箱的每封邮件中删除 后续 标签 我尝试了几件事 但仍然没有成功 我希望有人可以帮助我或为我指明正确的方向 涉及的函数是 function moveToInbox page GmailApp moveThreadsToInbox
  • ReferenceError:未定义 ConferenceDataService

    我正在尝试开发像 Zoom 会议这样的谷歌日历插件 在 appsscript json 文件中 有以下代码 calendar conferenceSolution onCreateFunction createConference id 1

随机推荐

  • 如何使用 AVAssetReader 在 iOS 上正确读取解码的 PCM 样本 - 当前解码不正确

    我目前正在开发一个应用程序 作为计算机科学学士学位的一部分 该应用程序会将来自 iPhone 硬件 加速计 GPS 的数据与正在播放的音乐关联起来 该项目仍处于起步阶段 仅进行了两个月 我现在需要帮助的地方是从 itunes 库中的歌曲中读
  • 为什么 IE 需要我点击两次

    我有这个 jQuery billing info click function e e preventDefault if shipping selection length gt 0 if shipping selection check
  • 当在下拉列表中选择相同的值时触发事件?

    问题 我有一个下拉菜单 其中包含年份列表 但未选择任何内容 用户选择 1976 我运行一个函数 如果用户再次单击下拉列表并再次选择 1976 我想再次运行该函数 select on change function e var optionS
  • Blazor - app.UseIdentityServer();使用 .pfx 密钥文件 - 解析数字时遇到意外字符

    我创建了一个新的 Blazor WebAssembly 应用程序 其中包含个人用户帐户 应用程序内存储用户帐户和 NET 5 中托管的 ASP NET Core 将我的应用程序部署到 Azure 应用服务时 出现以下错误 未将对象引用设置为
  • 如何初始化静态成员[重复]

    这个问题在这里已经有答案了 我想初始化两个静态数据成员 查看两个文件 Logger h class Logger public static LoggerConcrete error static LoggerConcrete write
  • 无法让 JQuery Draggable 插件工作?

    我很新JQuery我正在尝试使用 Draggable 插件创建一个示例页面 页面加载正常 但我无法拖动我的 div 标记任何地方 我一直在尝试复制这个demo 这是我的代码 div
  • R、RDCOMClient 和 Outlook:使用共享地址访问收件箱消息

    我在 Outlook 中有几个收件箱 电子邮件受保护 加上一些共享收件箱 例如 电子邮件受保护 例如 或者 电子邮件受保护 依照指示这个方法我正在尝试访问我自己的收件箱中的电子邮件 问题是 有时 收件箱访问邮件 电子邮件受保护 有时它可以是
  • MySQL 时区

    是否有 MySQL 时区的详尽列表 看来有效值time zoneMySQL 中的设置取决于主机操作系统 但我无法找到可能值的列表 我需要时间显示卡尔加里当地时间 默认情况下 至少在基于 Debian 的安装中 不会将时区数据加载到 MySQ
  • Google 地图 API RefererNotAllowedError

    我创建了一个用于 Google Maps JavaScript API 的 Google 密钥 一切正常 直到我添加到下面的凭据接受来自这些 HTTP 引荐来源网址的请求 我以这种格式添加了引荐来源网址 example com 根据凭证页面
  • Android isodep.isConnected() 返回 false 且最大收发长度:0 字节,对于 B 型卡。

    我正在开发一个 Android 应用程序 需要读取并显示 B 型卡中的数据 卡连接良好 但是当isodep isConnected 被调用它返回 false 我扫描了这张卡TagInfo应用程序 由 NXP 提供 可在 Play Store
  • JAudioTagger 和 Android - 更改 mp3 中的值?

    我可以从音频文件中读取标题 艺术家 专辑封面和其他信息等元信息 但我从未能够成功写入元信息 大家有这方面的经验吗 有比 JAudioTagger 更好的库吗 我会提供一些示例代码 但我尝试了十几种不起作用的方法 就像是 AudioFile
  • 无扩展名文件上的 Eclipse 语法高亮显示?

    我有一个 perl CGI 脚本 需要具有特定的无扩展名文件名才能从使用它的软件正确运行 我在 Ubuntu 11 04 Linux 上使用 Eclipse 3 7 0 作为我的 IDE 它不会突出显示文件上的语法 也不会使用有限的自动完成
  • Node.js 错误:连接 ECONNREFUSED

    我是节点新手 在一个简单的教程中遇到了这个错误 我在 OS X 10 8 2 上从 CodeRunner 和终端尝试此操作 我也尝试过将我的模块放入node modules folder 我可以看出这是某种连接问题 但我不知道为什么 eve
  • Spring 集成流程异步中的错误处理

    我有以下 Spring Integration 配置 它允许我从 MVC 控制器调用网关方法并让控制器返回 而集成流将在不阻塞控制器的单独线程中自行继续 但是 我无法弄清楚如何让我的错误处理程序适用于此异步流程 我的网关定义了错误通道 但由
  • SQL选择每个部门最大销售额的日期[重复]

    这个问题在这里已经有答案了 我对编写一个棘手的查询感到困扰 我有下表 对于每个部门 我想打印利润最大的日期 我尝试自己提出这样的查询 Select DISTINCT Name Date sale MAX A as B FROM SELECT
  • 如何在 CSS 中应用从外到内的渐变,仅应用于边框?

    根据 MDN 文档 这似乎没有得到明确支持 所以我在下面的链接代码笔中尝试如下 我知道嵌套 div 是丑陋的 不能成为一个好的可重用样式组件 但我不知道还有什么方法可以达到这种效果 任何有关尝试实现此目标的方法的指导将不胜感激 这是演示我当
  • 无法从维基百科 API 获取数据

    let dataObj const query marvel fetch https en wikipedia org w api php action query titles query prop revisions rvprop co
  • 空手道加特林:未拾取对功能文件的更改

    我正在尝试构建一系列触发空手道场景的加特林测试 我对功能文件所做的更改只是偶尔会被加特林拾取 例如 在下面的功能文件代码中 运行前四项 包括注释掉的 relationships 行 Feature This feature attempts
  • 为什么 .split("\\") 会生成异常?

    我有一个代表目录的字符串 其中 用于分隔文件夹 我想根据 String address C saeed test String splited address split 然而 这给了我一个java util regex PatternSy
  • 使用 HTML 文件输出 PDF

    我有一个 HTML 文件 我用它来发送电子邮件 但在某些情况下 我希望它只是使用该文件来创建相同模板的 PDF 我已经让它大部分正常工作了 它创建文件 运行评估并获取内容 但它实际上并不渲染 html 它只是将所有 html 符号保留在原处