Custom PDF Template in NetSuite using SuiteScript

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

  };

});

Leave a comment

Your email address will not be published. Required fields are marked *