【问题标题】:Downloading a webpage as a PDF in Google Drive using Google Apps Script使用 Google Apps 脚本在 Google Drive 中以 PDF 格式下载网页
【发布时间】:2021-10-15 16:30:38
【问题描述】:

我正在编写一个 Google 应用程序脚本,该脚本应该将网页保存为 pdf 文件在我的 google 驱动器内的文件夹中。这是我现在的代码:

function downloadFiles(){
   var fileName ="";
   var fileSize ="";
   var response=UrlFetchApp.fetch("https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal");

   var rc=response.getResponseCode()
   if(rc==200){
     var fileBlob=response.getAs('application/pdf');
     var folder= DriveApp.getFolderById("ID")// folder where the files to compare will be stored
     if (folder!=null){
       var file=folder.createFile(fileBlob)
       fileName= file.getName()
       fileSize= file.getSize()
     }
   }
   var fileInfo={'rc':rc, "filename":fileName,"filesize":fileSize}
 } 

由于某种原因,当我运行我的脚本时,我得到了这个错误: Exception: Conversion from text/html to application/pdf failed.

我在一些网站上读到它可能与限制或类似的东西有关......你知道我该如何解决这个问题吗?

【问题讨论】:

  • 存在导致 PDF blob 无法从 HTML 正确转换的错误。谷歌有一个错误的问题跟踪器。通过访问问题跟踪器并单击星号,您可以让 Google 知道这是一个需要修复的问题。请点击以下问题的“星号”:https://issuetracker.google.com/issues/196100674

标签: google-apps-script google-sheets


【解决方案1】:

据我了解,问题可能来自未能进行转换的 getAs()。

我尝试了以下版本

var page = response.getContentText();
var fileBlob = Utilities.newBlob(page,"application/pdf");
fileBlob.setName("name");

它设法创建了一个 pdf,但内容在第一页之外已损坏。我会继续看的

【讨论】:

  • 感谢您的回答!在尝试了你的解决方案之后,我得到了:Exception: The parameters (UrlFetchApp.HTTPResponse,String) don't match the method signature for Utilities.newBlob.我不确定这意味着什么,我不确定我们是否朝着正确的方向前进:(
  • 哦,我的错,与“响应”类型混淆了。我编辑了我的答案,但遗憾的是还没有找到可行的解决方案
  • 存在导致 PDF blob 无法从 HTML 正确转换的错误。谷歌有一个问题跟踪器用于错误。通过访问问题跟踪器并单击星号,您可以让 Google 知道这是一个需要修复的问题。请点击以下问题的“星号”:https://issuetracker.google.com/issues/196100674
【解决方案2】:

该转换服务似乎在过去 24 小时内出现故障(从那时起我一直在尝试修复我的脚本)。该脚本运行了 2 年,从昨天开始就失败了。

其他人打开了这个 stackoverflow 问题: Google App Script convert HTML to PDF not working 但它被(错误地)标记为重复。

我敢打赌:Google 应用方面出了点问题,但我会订阅这个问题以防万一。

【讨论】:

  • 感谢您提供此信息。一旦发生变化,我会尝试更新这个问题:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
相关资源
最近更新 更多