Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript,如何将Google文档转换为PDF文件;切片;将其转换为多个PDF?_Javascript_Angular_Google Apps Script - Fatal编程技术网

使用Javascript,如何将Google文档转换为PDF文件;切片;将其转换为多个PDF?

使用Javascript,如何将Google文档转换为PDF文件;切片;将其转换为多个PDF?,javascript,angular,google-apps-script,Javascript,Angular,Google Apps Script,我想用Google文档和Javascript复制我为Microsoft Word文档编写的VBA代码。它将用于我正在编写的一个有角度的应用程序中 VBA代码在文档中搜索“切片标记”,并在找到它们时生成PDF文件。例如,如果一个文档由15页组成,并且第4、7和9页上有切片标记,则代码将生成四个文件:Page1-4.pdf、Page5-7.pdf、Page8-9.pdf和Page10-15.pdf 在Javascript实现中,步骤如下: 将Google文档转换为PDF文件 通过搜索完整PDF中的切

我想用Google文档和Javascript复制我为Microsoft Word文档编写的VBA代码。它将用于我正在编写的一个有角度的应用程序中

VBA代码在文档中搜索“切片标记”,并在找到它们时生成PDF文件。例如,如果一个文档由15页组成,并且第4、7和9页上有切片标记,则代码将生成四个文件:Page1-4.pdf、Page5-7.pdf、Page8-9.pdf和Page10-15.pdf

在Javascript实现中,步骤如下:

  • 将Google文档转换为PDF文件
  • 通过搜索完整PDF中的切片标记,将PDF文件“切片”为多个PDF
  • 将切片PDF放在指定的Google Drive文件夹中
  • 请注意,我问了一个类似的问题

    然而,这是一个谷歌脚本实现。我意识到,在谷歌脚本中,无法在页面边界上处理文档。如果这样做的话,它会更简单、更干净。相反,我想采取另一种方法

    下面是部分解决步骤1的Javascript代码。它使用以下调用:

    gapi.client.drive.files.export

    但是,这不会创建PDF文件。相反,它创建了一个PDF内容的blob。显然,我们的期望是将blob转换为实际文件,但googleapi似乎没有提供实现这一点的方法

    异步函数exportDocument(id,mimeType){ 让rtrn; 试一试{ 等待gapi.client.drive.files.export( {'fileId':id, “mimeType”:mimeType, “字段”:“webViewLink”, }) .然后(功能(resp){ //这将返回一个内容blob,而不是实际的文件 rtrn=resp; //TODO:如何将blob转换为实际文件(例如PDF) }).catch((错误)=>{ 抛出新错误(错误消息); }); }捕获(e){ 抛出新错误('exportDocument:'+e.message); } 返回rtrn;
    }//end exportDocumentBlob是原始数据的二进制表示形式

    通常,使用PDF时,Blob会转换为文件(文件是Blob), 并保存到本地文件系统。有关示例,请参见

    还有一个“文件保护程序”npm库,我相信还有Angular/Typescript版本,如果您不想自己做的话

    我还没有这样做,但我想如果您想要用来操作PDF的库需要一个PDF文件,那么您可能可以将Blob转换为PDF,而无需将其写入文件系统,然后从那里开始工作

    顺便说一句,您的问题有一个或多个“接近”投票,因为您提出了一个非常广泛的问题(即“如何编写整个应用程序”),而不是提出您真正需要回答的目标问题。

    相关: