>我已经将一个临时的谷歌工作表转换为带有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));
}