2016-03-29 14 views
0

Buradaki tartışmayı şu bölümde takip etmeye çalışıyorum: Zip drive files.getBlob() dosyaları pdf'ye dönüştürüyor

Aşağıdaki kodu çalıştırırsanız, herhangi bir nedenle PDF dosyaları oluşturduğunu görürsünüz. GetBlob() onları PDF'ye dönüştürüyor gibi görünüyor.

var folderId = DriveApp.getFoldersByName("Test").getId(); 
    var files = DriveApp.getFoldersByName("Test").getFiles(); 
    var blobs = []; 
    var fileBlob = ''; 
    var file = ''; 
    while(files.hasNext()){ 
    file = files.next(); 
    fileBlob = file.getBlob(); 
    blobs.push(fileBlob); 
    } 

    var zippedFolder = Utilities.zip(blobs, 'Test.zip'); 
    DriveApp.getFoldersByName("Test").getParents().next().createFile(zippedFolder); 

Ben Test.zip ve dosya PDF dönüştürülmüştür (google yaprak veya google docs gibi) o her dosyayı indirmek. İkinci olarak, klasörde herhangi bir Google Forms dosyası varsa, kod, formları pdf'ye dönüştüremeyen bir hatayla başarısız.

Herhangi bir dosyayı pdf'ye dönüştürmek istemiyorum. Sadece klasörü sıkıştırmak istiyorum. Düşüncesi olan var mı?

cevap

0

Bir google apps dosyasından bulduğunuz formlar haricinde bir blob oluşturduğunuzda beklenen davranış budur. Yerel bir Dokümanı veya Sayfayı önce başka bir biçime dönüştürmeden sıkıştırmanın bir yolu yoktur.

+0

Teşekkürler. Gerçi berbattı. Yerel dokümanlar dosyaları tek tek indirilebilir ve bilgisayarda yerel olarak sıkıştırılabilir ve tekrar sürücüye yüklenebilir. Bunun neden sürücünün içinde otomatik olamayacağını anlamıyorum. –

+0

Umarız bu yardımcı olabilir - [Blob] (https://developers.google.com/apps-script/reference/base/blob#getascontenttype) sınıfına ilişkin anlayışım doğruysa dosyalar PDF olarak "varsayılan" olarak görünüyor . 'GetAs' yöntemini çağırdığınızda diğer mime türlerini belirtebilir ve dizininizde bu bloğu kullanabilirsiniz. – adjuremods

İlgili konular