Coldstar
Coldstar

Reputation: 1341

What is the SuiteScript 2.0 equivalent to nlapiXMLToPDF()

Does anyone know where I can find documentation on the SuiteScript 2.0 version of the nlapiXMLToPDF() command? It's not in the Help Center at all as far as I can tell

Upvotes: 2

Views: 3144

Answers (2)

Leibnitz Jacquard
Leibnitz Jacquard

Reputation: 469

It is part of 'N/render' module. You may find the complete documentation from the SuiteAnswers. Click HERE.

Please see its examples below:

The following example generates a PDF file from a raw XML string.

/**
*@NApiVersion 2.x
*/
require(['N/render'],
function(render) {
    function generatePdfFileFromRawXml() {
        var xmlStr = '<?xml version="1.0"?>\n<!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd">\n<pdf>\n<body font-size="18">\nHello World!\n</body>\n</pdf>';;
        var pdfFile = render.xmlToPdf({
            xmlString: xmlStr
        });
    }
    generatePdfFileFromRawXml();
});

The following example renders a transaction record into a HTML page.

/**
*@NApiVersion 2.x
*/
require(['N/render'],
function(render) {
    function renderTransactionToHtml() {
        var transactionFile = render.transaction({
        entityId: 23,
        printMode: render.PrintMode.HTML
        });
    }
    renderTransactionToHtml();
});

The following example renders an invoice into a pdf file using an xml template in the file cabinet. This example requires the Advanced PDF/HTML Templates feature.

/**
*@NApiVersion 2.x
*/
require(['N/render', 'N/file', 'N/record'],
function(render, file, record) {
    function renderRecordToPdfWithTemplate() {
        var xmlTemplateFile = file.create({
            name: 'invoicePDFTemplate.xml',
            fileType: file.Type.XMLDOC,
            contents: '<div><!-- insert body information here --></div>'
        });;
        var renderer = render.create();
        renderer.templateContent = xmlTemplateFile.getContents();
        renderer.addRecord(record.Type.INVOICE, record.create({
            type: record.Type.INVOICE,
        }));
        var invoicePdf = renderer.renderAsPdf();
    }
    renderRecordToPdfWithTemplate();
});

Upvotes: 3

Shea Brennan
Shea Brennan

Reputation: 1132

It's part of the render module, 'N/render'.

Example from Help Center

 /**
 *@NApiVersion 2.x
 */
require(['N/render'],
    function(render) {
        function generatePdfFileFromRawXml() {
            var xmlStr = '<?xml version="1.0"?>\n<!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd">\n<pdf>\n<body font-size="18">\nHello World!\n</body>\n</pdf>';;
            var pdfFile = render.xmlToPdf({
                xmlString: xmlStr
            });
        }
        generatePdfFileFromRawXml();
    });

Upvotes: 6

Related Questions