2016-03-29 7 views
0

私はここでの議論をフォローアップしようとしています:Zip drive filesgetBlob()がファイルをpdfに変換しています

次のコードを実行すると、何らかの理由でPDFファイルが生成されることがわかります。 getBlob()はそれらをPDFに変換しているようです。

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); 

私はTest.zipをダウンロードし、その中のすべてのファイル(GoogleシートやGoogleドキュメントのような)ファイルはPDFに変換されています。 第2に、フォルダにGoogleフォームファイルが含まれていると、コードが失敗し、フォームをpdfに変換できないというエラーが表示されます。

私はpdfにファイルを変換したくありません。私はちょうどそのフォルダを圧縮したいと思う。何かご意見は?

答えて

0

これは、見つかったフォームを除いて、Google Appsファイルからblobを作成するときに期待される動作です。ネイティブのDocまたはSheetを他の形式に変換せずに解凍する方法はありません。

+0

ありがとうございました。それはしかし吸う。ネイティブのドキュメントファイルは、個別にダウンロードし、コンピュータ上でローカルに圧縮して、ドライブにアップロードすることができます。私はなぜこれがドライブ内で自動化できないのか分かりません。 –

+0

うまくいけば、これは助けになるだろう - [Blob](https://developers.google.com/apps-script/reference/base/blob#getascontenttype)クラスに関する私の理解が正しいなら、ファイルがPDFとして「デフォルト」されているように見える。 'getAs'メソッドを呼び出し、あなたの配列の代わりにそのblobを使うときは、他のMIMEタイプを指定することができます。 – adjuremods

関連する問題