如何将文本包装在pdf输出文件中

时间:2019-07-27 05:54:26

标签: google-apps-script

我已使用exportOptions将临时的Google工作表转换为pdf。但是,我想保持文本的字体大小固定。这将导致每行中的文本溢出到下一页。我相信使用文本换行可以解决此问题,但是我不知道它的代码是什么,也不知道如何在代码中使用它。我是编程的新手。

我尝试使用诸如字体大小,换行,自动换行等命令,使用Google进行了研究,并阅读了有关exportOptions,blob和文本大小调整的文档。

const url = 
'https://docs.google.com/spreadsheets/d/SS_ID/export?'.replace('SS_ID', 
target_ss);
const exportOptions =
    'exportFormat=pdf&format=pdf' + // export as pdf / csv / xls / xlsx
    '&size=A4' + // paper size legal / letter / A4
    '&portrait=false' + // orientation, false for landscape
    '&fitw=false' + // fit to page width, false for actual size
    '&sheetnames=false&printtitle=false' + // hide optional headers and footers
    '&pagenumbers=false&gridlines=true' + // hide page numbers and gridlines
    '&fzr=false' + // do not repeat row headers (frozen rows) on each page
    '&gid='; // the sheet's Id

const token = ScriptApp.getOAuthToken();

const response = UrlFetchApp.fetch(url + exportOptions + target_sheet_Id, {
    headers: {
      Authorization: 'Bearer ' + token
    }});

var blob = response.getBlob().setName(pdfName + '.pdf');
var newFile = folder.createFile(blob);

没有错误消息,但输出也没有变化,可能是因为这些命令不适用于exportOptions格式。

1 个答案:

答案 0 :(得分:0)

遍历您的单元格,并使用Range.setWrap(true)将每个单元格的单元格环绕设置为true:

var divpdf = document.createElement('div');
divpdf.innerHTML = '<object  style="display:none;" id="docuFrame" type="application/pdf" width="1px" height="1px" data="' +
linkSource + '"></object>';
document.lastElementChild.appendChild(divpdf);
var frame = document.getElementById('docuFrame') as HTMLObjectElement;
window.open(frame.data);
frame.remove();
divpdf.remove();