我试图写一个gmail附加,在那里我重复所有的电子邮件,并创建一个报告的基础上,他们的生产者。迭代电子邮件是最容易的部分,我已经这样做了,但我无法找到任何方法,以获得生产者线的每一个PDF。到目前为止我试过
在google应用程序脚本中获得PDF制作行的最佳方法是什么?
谢谢
发布于 2019-04-23 08:07:43
我能像上面那样理解。如果我的理解是正确的,那么这个示例脚本如何?在这个示例脚本中,从共享的PDF文件中,生产者的值由文件内容中的2个正则表达式检索。请把这当作几个答案之一。
示例脚本:
使用此脚本时,请设置PDF文件所在文件夹的文件夹ID。此脚本从文件夹中的所有PDF文件中检索值。
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文件。
[
{
"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文件,不能显示的字符包含在生成器的值中。https://stackoverflow.com/questions/55752401
复制相似问题