Create a PDF/HTML template by navigating to: Customization > Forms > Advanced PDF/HTML Templates.
After creating template in the NetSuite, use SuiteScript to generate the PDF using this template.
For example:
/**
* @NApiVersion 2.1
* @NScriptType Suitelet
*/
define([‘N/render’, ‘N/record’, ‘N/file’, ‘N/log’],
function(render, record, file, log) {
function onRequest(context) {
try {
var salesOrder = record.load({
type: record.Type.SALES_ORDER,
id: context.request.parameters.salesorderid,
isDynamic: true
});
var renderer = render.create();
var templateFile = file.load({
id: ‘SuiteScripts/Templates/sales_order_template.xml’ // Template file ID
});
renderer.templateContent = templateFile.getContents();
renderer.addRecord(‘record’, salesOrder);
var pdfFile = renderer.renderAsPdf();
pdfFile.name = ‘SalesOrder_’ + salesOrder.getValue({fieldId: ‘tranid’}) + ‘.pdf’;
context.response.writeFile(pdfFile);
} catch (e) {
log.error(‘Error generating PDF’, e.message);
}
}
return {
onRequest: onRequest
};
});