Skip to content

Instantly share code, notes, and snippets.

@n0531m
Created February 20, 2018 14:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save n0531m/5f8a3460f82c520dc1bb5e6c43d604cf to your computer and use it in GitHub Desktop.
Save n0531m/5f8a3460f82c520dc1bb5e6c43d604cf to your computer and use it in GitHub Desktop.
Convert Google Docs/Slides/Sheets to PDF
function clear(){
var pdf_folderid="XXXXXXX";
_clearPDFs(pdf_folderid);
}
function convert(){
var src_folderid="YYYYYYY";
var pdf_folderid="XXXXXXX";
_doc2pdf(src_folderid,pdf_folderid);
}
function exec() {
clear();
convert();
}
// convert all docs in the given folder, and store in the same folder.
function _doc2pdf(src_folderid, pdf_folderid){
var src_folder=DriveApp.getFolderById(src_folderid);
var pdf_folder=DriveApp.getFolderById(pdf_folderid);
var iterator=src_folder.getFiles();
while( iterator.hasNext()){
//Logger.log(iterator.next());
var file =iterator.next();
var type=file.getMimeType();
Logger.log(file.getName()+":"+type)
//Logger.log(file.getName());
if("application/vnd.google-apps.document"== type){
// for handson labs (Document)
pdf_folder.createFile(file.getAs("application/pdf")).setName(file.getName()+".pdf");
}else if("application/vnd.google-apps.presentation" == type){
// for presentation (Slide)
pdf_folder.createFile(file.getAs("application/pdf")).setName(file.getName()+".pdf");
}
}
}
// trash all .pdf files in given folder
function _clearPDFs(pdf_folderid){
Logger.log(pdf_folderid);
var pdf_folder=DriveApp.getFolderById(pdf_folderid);
var iterator=pdf_folder.getFiles();
while(iterator.hasNext()){
//Logger.log(iterator.next());
var file =iterator.next();
var type=file.getMimeType();
if("application/pdf"== type){
file.setTrashed(true);
Logger.log("Trashed : "+file.getName() +"("+file.getId()+")");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment