使用google apps脚本将html文件转换为adobe pdf时,文件大小会增加

使用google apps脚本将html文件转换为adobe pdf时,文件大小会增加,html,pdf,google-apps-script,Html,Pdf,Google Apps Script,出于某种原因,在Google Apps脚本中将HTML文件转换为PDF时,PDF文件的大小最终会比原始HTML文件大很多 我用于运行测试的代码如下: function convertHTMLtoPDF() { // convert a specific message with an attached HTML file to PDF, // and save it to the root directory of Google Drive var threads = GmailApp.se

出于某种原因,在Google Apps脚本中将HTML文件转换为PDF时,PDF文件的大小最终会比原始HTML文件大很多

我用于运行测试的代码如下:

function convertHTMLtoPDF() {
// convert a specific message with an attached HTML file to PDF,
// and save it to the root directory of Google Drive
  var threads = GmailApp.search('subject:(Sample HTML)');
  var message = threads[0].getMessages()[0];

  var attachmentName = message.getAttachments()[0].getName();

  var attachment = message.getAttachments()[0].getAs("application/pdf");
  DriveApp.createFile(attachment).setName(attachmentName);

}
注意:您只需获取我在下面共享的示例HTML文件,将其附加到主题为:示例HTML的电子邮件中,然后将其发送给您自己,以便脚本能够找到它

我转换的文件是133 KB。脚本运行后,转换的内存为10 MB

我的测试结果如下:

  • 使用Google Apps脚本转换sample.html文件会使133 KB的html文件变成10 MB的PDF文件
  • 将AppoBeActuxXPro转换为SAMPL.html文件,使133 KB HTML文件成为151 KB PDF席。
有人知道为什么通过GoogleApps脚本转换的PDF文件比使用Adobe转换时大得多吗?有没有办法减小文件大小


在此提前感谢您的帮助

我尝试了你的代码,确认大小变大了(10MB)。我认为这是很自然的,因为PDF文件总是比原始类型的文件大。你可以在互联网上找到许多原因来解释这一点。一个例子是

为了证实这一点,我用这个来证实这个尺寸

function htmlToPDF() {

  var html = "YOUR HTML CODE";

  var blob = Utilities.newBlob(html, "text/html", "text.html");
  var pdf = blob.getAs("application/pdf");

  DriveApp.createFile(pdf).setName("text.pdf");

  MailApp.sendEmail("sample@email.org", "PDF File", "", 
     {htmlBody: html, attachments: pdf});

}

我还从这段代码中获得了10MB的大小。

我尝试了你的代码,并确认大小变大了(10MB)。我认为这是很自然的,因为PDF文件总是比原始类型的文件大。你可以在互联网上找到许多原因来解释这一点。一个例子是

为了证实这一点,我用这个来证实这个尺寸

function htmlToPDF() {

  var html = "YOUR HTML CODE";

  var blob = Utilities.newBlob(html, "text/html", "text.html");
  var pdf = blob.getAs("application/pdf");

  DriveApp.createFile(pdf).setName("text.pdf");

  MailApp.sendEmail("sample@email.org", "PDF File", "", 
     {htmlBody: html, attachments: pdf});

}

我还从这段代码中获得10MB大小。

如果您想通过Google Apps脚本查看转换结果,示例PDF文件在这里:如果您想通过Google Apps脚本查看转换结果,示例PDF文件在这里:“这是很自然的,因为PDF文件总是比原始类型的文件大“-胡说八道。PDF可以使用flate/deflate压缩,实际上比.txt文件中保存的相同文本小很多倍。我同意,我认为这是Google应用程序脚本中的一个错误,因为没有充分的理由说明在通过应用程序脚本转换时,文件大小会如此之大。其他人是否知道如何修复此问题,或者我是否应该将此问题提交给谷歌?如果你向谷歌提交错误报告,请在此处链接你提交的错误通知单。我已将此作为谷歌应用程序脚本错误提交。发行号是6312,可以在这里找到:“这是很自然的,因为PDF文件总是比原始类型的文件大”——完全是胡说八道。PDF可以使用flate/deflate压缩,实际上比.txt文件中保存的相同文本小很多倍。我同意,我认为这是Google应用程序脚本中的一个错误,因为没有充分的理由说明在通过应用程序脚本转换时,文件大小会如此之大。其他人是否知道如何修复此问题,或者我是否应该将此问题提交给谷歌?如果你向谷歌提交错误报告,请在此处链接你提交的错误通知单。我已将此作为谷歌应用程序脚本错误提交。发行号为6312,可在此处找到: