如何在 PDF 输出文件中换行文本



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

我尝试使用字体大小、换行、文本换行等命令,使用 google 进行研究,并阅读了导出选项、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 格式。

遍历单元格并使用 Range.setWrap(true) 将每个单元格的单元格换行设置为 true:

  var target_ss = "your-spreadsheet-id";
  var ss_sheets = SpreadsheetApp.openById(target_ss).getSheets();
  for (var i = 0; i < ss_sheets.length; i++){    
    Logger.log(ss_sheets[i].getDataRange().setWrap(true));
  }

最新更新