【发布时间】:2018-08-16 08:01:04
【问题描述】:
我正在尝试通过 Apps 脚本从 Google 表格导出 PDF。我在网上找到了有用的代码,效果很好,只是我找不到没有网格的方法来导出它,或者更改边距和页面大小。
function generatePdf() {
var originalSpreadsheet = SpreadsheetApp.getActive();
var sourcesheet = originalSpreadsheet.getSheetByName("TestSheet");
var sourcerange = sourcesheet.getRange('B1:K55'); // range to get - here I get all of columns which i want
var sourcevalues = sourcerange.getValues();
var data = sourcesheet.getDataRange().getValues();
var number = originalSpreadsheet.getRange('G9:H9').getValue();
var newSpreadsheet = SpreadsheetApp.create("Invoice pdf"); // can give any name.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var projectname = SpreadsheetApp.getActiveSpreadsheet();
var sheet = sourcesheet.copyTo(newSpreadsheet);
var destrange = sheet.getRange('B1:K55');
destrange.setValues(sourcevalues);
newSpreadsheet.getSheetByName('Sheet1').activate();
newSpreadsheet.deleteActiveSheet();
var invoiceName = "Invoice "+number;
var pdf = DriveApp.getFileById(newSpreadsheet.getId());
var theBlob = pdf.getBlob().getAs('application/pdf').setName(invoiceName);
var folderID = "1Y7n1e_tzQWvzVykHJf_DSm9lBVmokDHA"; // Folder id to save in a folder.
var folder = DriveApp.getFolderById(folderID);
var newFile = folder.createFile(theBlob);
DriveApp.getFileById(newSpreadsheet.getId()).setTrashed(true);
}
我一直在到处寻找答案,但我无法将找到的一些解决方案应用于我的代码。
【问题讨论】:
-
我找不到在我的代码中实现这些解决方案的方法 =\
-
给您带来的不便,我深表歉意。从您的回复中,我无法理解您当前的问题。你能提供它的详细信息吗?如果可以,您能否通过包含最新脚本来更新您的问题?
-
上面的脚本是最新的,我需要找到一种方法来设置 pdf 在没有网格和没有边距的情况下打印。谢谢
-
感谢您的回复。我认为您可以通过使用查询参数导出电子表格来获得它。查询参数及导出方法见以上2个参考。
标签: google-apps-script google-sheets export-to-pdf