Suitelet To Render A PDF Template

The client needs to populate a PDF template on a separate page when a custom button is clicked. The PDF template can be render in a suitelet page.

/**
 * @NApiVersion 2.1
 * @NScriptType Suitelet
 */
define(['N/record', 'N/render'],
    /**
 * @param{record} record
 * @param{render} render
 */
    (record, render) => {
        /**
         * Defines the Suitelet script trigger point.
         * @param {Object} scriptContext
         * @param {ServerRequest} scriptContext.request - Incoming request
         * @param {ServerResponse} scriptContext.response - Suitelet response
         * @since 2015.2
         */
        const onRequest = (scriptContext) => {
            try{
                var record1 = scriptContext.request.parameters.currentRec;
                log.debug("record", record1);


                var renderer = render.create();


                 renderer.addRecord({
                    templateName: 'record',
                   record: record.load({
                       type: record.Type.SALES_ORDER,
                       id:record1
                     }),
                 });
                renderer.setTemplateById(136);
                var renderData = renderer.renderAsPdf();
                scriptContext.response.writeFile(renderData, true);
            }
            catch(e){
                log.error("error@onRequest",e)
            }
        }


        return {onRequest}


    });


Leave a comment

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