我从Google Apps脚本开始,尝试创建文件副本(Google Doc),然后替换复制文档中的文本并将其转换为PDF。
该功能正常,但替换的文本不会出现在PDF文件中,而是出现在复制的文件中(我替换的位置)。
我在函数完成弹出之前阅读了saveandclose()
方法来保存更改并关闭文档(复制)。但似乎该方法不可用。我非常感谢你的帮助。感谢。
function replaceconvert() {
var cdoc = DriveApp.getFileById('iddocument').makeCopy('filename321');
var iddoc = cdoc.getId();
var doc = DocumentApp.openById(iddoc);
doc.getBody().replaceText('nombre', 'Juan Perez');
var doc_repl = DriveApp.getFileById(iddoc);
var blob = doc_repl.getAs(MimeType.PDF);
DriveApp.getFolderById(idfolder).createFile(doc1)
}
答案 0 :(得分:1)
我使用以下功能,这对我有用:
function personaliseAttachment(keyTemplate, member, fileName){
var cloneId = DriveApp.getFileById(keyTemplate).makeCopy('cloneAttachment').getId();
var clone = DocumentApp.openById(cloneId);
var body = clone.getBody();
for (var property in member) {
if (member.hasOwnProperty(property)) {
body.replaceText("{{"+property+"}}", member[property]);
}
}
clone.saveAndClose();
var clonePDF = DriveApp.createFile(clone.getAs('application/pdf'));
clonePDF.setName(fileName);
DriveApp.getFileById(cloneId).setTrashed(true);
return clonePDF;
}