Javascript 生成PDF时是否可以设置自定义页面和页边距?我尝试了,但没有运气应用程序脚本
我正在做一个项目,我想生成一个大小为52毫米x 25毫米的pdf。我使用下面的代码生成pdf,除了页面大小外,它工作正常Javascript 生成PDF时是否可以设置自定义页面和页边距?我尝试了,但没有运气应用程序脚本,javascript,pdf,google-apps-script,Javascript,Pdf,Google Apps Script,我正在做一个项目,我想生成一个大小为52毫米x 25毫米的pdf。我使用下面的代码生成pdf,除了页面大小外,它工作正常 function CreaPDF() { //The function prints an invoice to PDF. First it copies spreadsheet to a new document. //Deletes all sheet except the one to print. Saves it to PDF. //It ov
function CreaPDF() {
//The function prints an invoice to PDF. First it copies spreadsheet to a new document.
//Deletes all sheet except the one to print. Saves it to PDF.
//It overwrites any existing doc with same name.
var sourceSpreadsheet = SpreadsheetApp.getActive();
var sheetName = "Factura";
var folderID = getParentFolder(); // Folder id to save in a folder.
var sourceSheet = sourceSpreadsheet.getSheetByName(sheetName);
var folder = DriveApp.getFolderById(folderID);
var numf = sourceSpreadsheet.getRangeByName("NumeroFactura").getValue();
var anof = numf.split("/",2); // Seeks number and year -> filename
var pdfName = anof[1] +"_Factura_" + anof[0]+ "_Dra_Salazar"; // Nombre del documento;
SpreadsheetApp.getActiveSpreadsheet().toast('Creando PDF');
// export url
var url = 'https://docs.google.com/spreadsheets/d/'+sourceSpreadsheet.getId()+'/export?exportFormat=pdf&format=pdf' // export as pdf / csv / xls / xlsx
+ '&size=A4' // paper size legal / letter / A4
+ '&portrait=true' // 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=false' // hide page numbers and gridlines
+ '&fzr=false' // do not repeat row headers (frozen rows) on each page
+ '&gid='+sourceSheet.getSheetId(); // the sheet's Id
var token = ScriptApp.getOAuthToken();
// request export url
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + token
}
});
var theBlob = response.getBlob().setName(pdfName+'.pdf');
// delete pdf if already exists
var files = folder.getFilesByName(pdfName);
while (files.hasNext())
{
files.next().setTrashed(true);
}
// create pdf
var newFile = folder.createFile(theBlob);
return true;
}
我想要的是在链接和自定义页边距中设置自定义页面大小。我想将此pdf自动发送到Dymo标签打印
任何有关这方面的帮助都将不胜感激。非常感谢。那么您的页面大小是多少?如果您尝试使用更大的尺寸,它是否有效?是的,它与标准的大页面尺寸完美配合,但我想生成一个52 mm x 25 mm大小的PDF,带有0.1页边距,用于标签打印。如果有其他方法生成没有页边距的图像,也可以。在PDF 1.6之前,页面的最小尺寸为1“x 1”–25.4 x 25.4毫米。请尝试使用25.4 mm高的代码——如果可以的话,您的库是硬编码的,不允许更小的大小。我只知道从google sheet生成PDF的另一种方法:var PDF=DriveApp.getFileById(newSpreadsheet.getId()).getAs('application/PDF').getBytes();