Преобразование документа Google в PDF приводит к пустому PDF, скрипты Google - PullRequest
0 голосов
/ 31 августа 2018

Вот мой код для создания документа Google, вставки некоторой информации (в конечном итоге из электронной таблицы), преобразования ее в формат PDF и отправки по электронной почте мне.

К сожалению, хотя документ на диске имеет «Этот документ был создан Google Apps Script». комментировать в нем, pdf в письме нет. У него правильный заголовок, но содержимое страницы потеряно. Я перепробовал несколько примеров переполнения стека и пока не получил ни одного.

var ss = SpreadsheetApp.getActive();

function onOpen(){
var ui = SpreadsheetApp.getUi(); 
ui.createMenu('TEST MENU') //creates main menu tab 
   .addItem('pdf', 'pdf') 
   .addToUi(); 
}

function pdf() {
  // Create a new Google Doc named 'Hello, world!'
  var doc = DocumentApp.create('Hello, world!');

  // Access the body of the document, then add a paragraph.
  doc.getBody().appendParagraph('This document was created by Google Apps Script.');

 var pdfContent = doc.getAs('application/pdf');
 var draftMail = GmailApp.createDraft('will@exampleEmail.co.uk',
                                   'Email title', 'Pls see attached', 
                                   {
                                     attachments: [pdfContent.getAs(MimeType.PDF)],
                                     name: 'Converted doc content'
                                   });
// Now send the mail
draftMail.send();
}

1 Ответ

0 голосов
/ 31 августа 2018

Вы не сохраняете и не закрываете документ перед его преобразованием в pdf , возможно, поэтому ваши изменения не стираются.

Попробуйте что-то вроде этого:

var ss = SpreadsheetApp.getActive();

function onOpen() {
    var ui = SpreadsheetApp.getUi();
    ui.createMenu('TEST MENU') //creates main menu tab 
        .addItem('pdf', 'pdf')
        .addToUi();
}

function pdf() {
    var doc = DocumentApp.create('Hello, world!');
    doc.getBody().appendParagraph('This document was created by Google Apps Script.');
    doc.saveAndClose()

    var pdfContent = doc.getAs('application/pdf');
    var draftMail = GmailApp.createDraft('will@exampleEmail.co.uk',
        'Email title', 'Pls see attached', {
            attachments: [pdfContent.getAs(MimeType.PDF)],
            name: 'Converted doc content'
        });
    draftMail.send();
}

Ссылка: https://developers.google.com/apps-script/reference/document/document#saveandclose

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...