App Script kullanarak bir Google Çiziminden bir png dosyası oluşturun
Aug 19 2020
Google Çizimler ile dolu bir klasörüm var. Bir Google e-tablosunda Google Çizimler'in dosya adlarını buldum. Dosya adlarını Google elektronik tablosundan çıkarabilirim, dosya adlarını yineleyebilir, tüm Google çizimlerini bulabilirim ve ... burada takılıp kaldığım yer burası. Çizimleri PNG dosyalarına dönüştürmek ve PNG dosyalarını ayrı bir sürücü klasöründe saklamak istiyorum.
Şimdiye kadar sahip olduğum senaryo bu ...
function load_list_of_images() {
var course_workbook_name = "SPREADSHEET"; // Title of spreadsheet to download files
var course_workbooks = DriveApp.getFilesByName(course_workbook_name); // There may be more than one!
try{
var course_workbook_id = course_workbooks.next();
Logger.log("Spreadsheet ID : " + course_workbook_id);
} catch(error) {
Logger.log("Spreadsheet doesn't exist");
return(null);
}
var course_workbook = SpreadsheetApp.open(course_workbook_id);
var image_list_sheet = course_workbook.getSheetByName("image_list");
// Get list of image names (without extensions)
var list_of_images = [];
var images = image_list_sheet.getRange(1,1,1000).getValues();
for (var row in images) {
for (var col in images[row]) {
if (images[row][col] == "") {
return(list_of_images);
}
list_of_images.push(images[row][col]);
}
}
}
function download_images() {
var list = load_list_of_images();
if (list == null){
return(null);
}
for (var row in list){
var image_name = list[row];
var image_exists = DriveApp.getFilesByName(image_name);
// There may be more than one
if (image_exists.hasNext()) {
var image = image_exists.next()
var gDraw_file = DriveApp.getFileById(image.getId());
DriveApp.createFile(gDraw_file.getBlob());
}
}
}
Bunu çalıştırdığımda, tüm Google çizimleri PDF dosyalarına dönüştürülüyor ve sürücü klasörümde saklanıyor.
Yanıtlar
1 ziganotschka Aug 19 2020 at 15:02
Çizimi hangi mimeType'a dönüştürmek istediğinizi belirtmeniz gerekir
Ancak, 'dan' drawings
ye dönüştürmek png
doğrudan mümkün değildir, aşağıdaki adımları uygulamanız gerekir:
- Dosyayı dışa aktarmak için bir dışa aktarma bağlantısı oluşturun.
image/png
- Bu bağlantıyı UrlFetchApp ile getir
- Sonuç blobundan bir dosya oluşturun
Örneklem
var id = image.getId();
var exportUrl = "https://www.googleapis.com/drive/v3/files/" + id + "/export?mimeType=image/png";
var urlFetchOptions = {
headers: {Authorization : "Bearer " + ScriptApp.getOAuthToken()}
};
var blob= UrlFetchApp.fetch(exportUrl, urlFetchOptions).getBlob();
DriveApp.createFile(blob);
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı