docFile_replace
//模板文件複製一份新文件 OK
try {
var folder = DriveApp.getFolderById(folder2);
var files = folder.getFilesByName(fileInfo.fileName);
if(files.hasNext()){
var file = files.next();
var document = DocumentApp.openById(file.getId());
// 進行內容修改
var body = document.getBody();
body.replaceText('{B0}', content[0]);
body.replaceText('{B1}', content[1]);
body.replaceText('{B2}', content[2]);
body.replaceText('{B3}', content[3]);
body.replaceText('{科別}', fileInfo.subject);
body.replaceText('{姓名}', fileInfo.name);
body.replaceText('{身份證}', fileInfo.id_card);
document.saveAndClose(); //儲存並關閉
//轉PDF
var pdfResult = convertDocToPDF(fileInfo); //
//刪除複製的文件
var files = DriveApp.getFilesByName(fileInfo.fileName);
while (files.hasNext()) {
files.next().setTrashed(true);
}
return pdfResult;
} else {
return -1; //傳入的檔名未找到
}
}
catch (error) {
return error.message;
}
//轉PDF
var fileId = convertDocToPDF(doc_file);
//刪除複製的文件
var files = DriveApp.getFilesByName(doc_file);
while (files.hasNext()) {
files.next().setTrashed(true);
}
return fileId;
}
function convertDocToPDF(fileName) {
var folder = DriveApp.getFolderById(folderID);
var docFileName = fileName; // Google 文件檔名
//尋找文件檔案
var files = folder.getFilesByName(docFileName);
if (files.hasNext()) {
var file = files.next();
var docId = file.getId();
// 將文件轉換為 PDF,位於相同資料夾,PDF在雲端資料夾無ID。
var pdfFile = DriveApp.getFileById(docId).getAs('application/pdf');
var pdfFileName = docFileName + "_converted.pdf"; //更改pdf檔名
folder.createFile(pdfFile).setName(pdfFileName);
var file = DriveApp.getFilesByName(docId + '.pdf');
if ( file.hasNext() ) {
var pdfFile_id = file.next().getId();
return docId;
} else {
return pdfFileName;
}
} else {
return "找不到指定的 Google 文件檔案。";
}
}