首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在google应用程序脚本中生成PDF

如何在google应用程序脚本中生成PDF
EN

Stack Overflow用户
提问于 2019-04-18 19:10:10
回答 1查看 211关注 0票数 0

我试图写一个gmail附加,在那里我重复所有的电子邮件,并创建一个报告的基础上,他们的生产者。迭代电子邮件是最容易的部分,我已经这样做了,但我无法找到任何方法,以获得生产者线的每一个PDF。到目前为止我试过

  • 但是,分析blob就像编写PDF库来解析所有语法一样。生产者标签不清楚。
  • 添加pdf.js,这是一个第三方开源工具,用于提取此类信息。但是,由于ES3 - ES6支持问题,我无法添加它。

在google应用程序脚本中获得PDF制作行的最佳方法是什么?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-23 08:07:43

  • 您希望从PDF文件中检索生产者的值。

我能像上面那样理解。如果我的理解是正确的,那么这个示例脚本如何?在这个示例脚本中,从共享的PDF文件中,生产者的值由文件内容中的2个正则表达式检索。请把这当作几个答案之一。

示例脚本:

使用此脚本时,请设置PDF文件所在文件夹的文件夹ID。此脚本从文件夹中的所有PDF文件中检索值。

代码语言:javascript
复制
var folderId = "### folderId ###";
var files = DriveApp.getFolderById(folderId).getFilesByType(MimeType.PDF);
var regex = [/Producer\((\w.+)\)/i, /<pdf:Producer>(\w.+)<\/pdf:Producer>/i];
var result = [];
while (files.hasNext()) {
  var file = files.next();
  var content = file.getBlob().getDataAsString();
  var r = regex.reduce(function(s, e) {
    var m = content.match(e);
    if (Array.isArray(m)) s = m[1];
    return s;
  }, "");
  result.push({
    fileName: file.getName(),
    fileId: file.getId(),
    vaueOfProducer: r,
  });
}
Logger.log(result); // Result

结果:

这个示例结果是从一个文件夹(我的Google )中检索出来的,其中共享了3个PDF文件。

代码语言:javascript
复制
[
  {
    "fileName": "2348706469653861032.pdf",
    "fileId": "###",
    "vaueOfProducer": "iText� 7.1.5 �2000-2019 iText Group NV \(iText; licensed version\)"
  },
  {
    "fileName": "Getting started with OneDrive.pdf",
    "fileId": "###",
    "vaueOfProducer": "Adobe PDF library 15.00"
  },
  {
    "fileName": "DITO-Salesflow-040419-1359-46.pdf",
    "fileId": "###",
    "vaueOfProducer": "iText 2.1.7 by 1T3XT"
  }
]

注意:

  • 对于2348706469653861032.pdf文件,不能显示的字符包含在生成器的值中。
  • 这是一个示例脚本。所以请根据你的情况修改这个。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55752401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档