如何为使用AppMaker创建(通过HTML)并通过电子邮件发送的PDF设置页面大小?

时间:2019-06-14 18:22:11

标签: google-apps-script google-app-maker

我在AppMaker应用程序中有一个功能,就像一个超级按钮-单击按钮时,它会从当前记录中获取数据,对其应用一些逻辑,然后将其混搭并将其样式化为HTML。我想通过两种方式将结果传递给用户:

  1. 打印-该函数具有将HTML发送回浏览器的返回,这将按预期打开打印对话框。
  2. 通过电子邮件发送PDF-该功能还会生成PDF,该PDF会附加到发送给用户的电子邮件中。

我听到用户的反馈,认为PDF版本切断了最后两行,因此我试图找出原因。

  • 要以电子邮件附件的形式发送PDF,我首先使用convert -debug All -size 100000x100000 canvas:white big_white.png 来使HTML整块。然后,以Blob的形式获取PDF,然后以电子邮件附件的形式发送PDF。代码如下:
Utilities.newBlob()

电子邮件已正确交付,并带有PDF,当您打开它时,它看起来很像发送到打印对话框的HTML。但是,当您打印时,最后几行显然会被切断。我对用户的建议(直到我可以深入研究问题为止)是在打印对话框中使用“适合页面”功能。但是,更仔细地查看它,我暗示这可能是页面大小的问题-当您查看PDF时,比例存在一些问题。果然,在打印对话框中将纸张尺寸从字母更改为A4时,页面布局完美。

所以现在我不知道A4的默认位置在哪里。

  • 我尝试在var pdfContent = Utilities.newBlob(html, 'text/html', 'PE-' + name + '.html') var pdf = pdfContent.getAs("application/pdf"); GmailApp.sendEmail(to, subject, body, {attachments: pdf}); 标记中设置@page属性的大小,但没有效果-从HTML到blob到PDF的过渡似乎无法幸免:
<style>

对于大小,我使用毫米(如上)和px作为单位,而我尝试仅使用“字母”一词。以上版本均无效。

还有其他地方可以指定页面大小以使此操作停止吗?

0 个答案:

没有答案