2015-01-30 1 views
0

У меня есть документ, который я использую в качестве шаблона, URL: https://docs.google.com/document/d/1Ng00Sw0V-3_htLF2-SyPj895g_V9bi1mKQc1LOaHPNY/edit?usp=sharingGoogle сценарий документ в формате PDF изменяет размер строки

Я использую сценарий, когда форма занесена и экспортировать его в PDF

function testExport() { 
    var pdf = DocumentApp.openById(docTemplate).getAs("application/pdf"); 
    DriveApp.createFile(pdf); 
}; 

Но экспортная ссылка выглядит так: https://drive.google.com/file/d/0B_YrT5Ue-LAvUllyQ0ZpbkRodVU/view?usp=sharing

Размер строк между таблицами увеличивается, и общее качество выглядит плохо, есть ли способ исправить его? Когда я загружаю файл doc в формате pdf, тогда он выглядит действительно хорошо.

+0

Я не вижу в вашем примере изменения размера строки, но я вижу, что автоматическая разбивка на страницы несовместима между PDF-интерфейсом документов и приложений. – rpm

+0

Что вы подразумеваете под этим. В моем документе fontsize между таблицами установлено значение 6, но в pdf оно изменяется на 10 или 12, а затем переполняется документ. Это происходит только при экспорте со скриптом, если я загружаю его в формате pdf, он выглядит отлично. – sinofis

ответ

1

Document.getAs() использует несколько иной конвертер, чем пользовательский интерфейс Google Docs. Вы можете приблизиться, используя функции преобразования, встроенные в API дисков, выставленные в File.exportLinks. В приведенном ниже примере используется расширенная служба Drive для выполнения преобразования и сохранения результата.

function exportAsPdf(documentId) { 
    var file = Drive.Files.get(documentId); 
    var url = file.exportLinks['application/pdf']; 
    var token = ScriptApp.getOAuthToken(); 
    var response = UrlFetchApp.fetch(url, { 
    headers: { 
     'Authorization': 'Bearer ' + token 
    } 
    }); 
    var contents = response.getBlob(); 
    contents.setName(file.title + '.pdf'); 
    DriveApp.createFile(contents); 
} 
Смежные вопросы