Hi folks,
I am coding a User Event Script to render a PDF that is created in a Suitelet Script. I am using
resolveScript to get the URL and then to call the script to get its response, the body response is as follows:
myServerResponseObj = _"<!DOCTYPE html>\n<html>\n\n<head>\n<title>Notice</title>\n<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />\n\n \t<script type='text/javascript' src='/javascript/FieldLevelHelp.jsp?JSP_VER=1&NS_VER=2022.2&minver=15&buildver=30671'></script>\r\n \t<script type='text/javascript' src='/assets/help_service/3663278969.js?NS_VER=2022.2&minver=15'></script>\r\n \t<script type='text/javascript' src='/ui/jquery/jquery-3.5.1.min.js?NS_VER=2022.2&minver=15'></script>\r\n \t<script type='text/javascript' src='/ui/jquery/jquery_isolation.js?NS_VER=2022.2&minver=15'></script>\r\n \t<script type='text/javascript' src='/javascript/NLUtil.jsp?JSP_VER=1&NS_VER=2022.2&minver=15&buildver=30671'></script>\r\n \t<script type='text/javascript' src='/javascript/NLUtil.js?NS_VER=2022.2&minver=15&buildver=30671'></script>\r\n \t<script type='text/javascript' src='/javascript/NLUIWidgets.jsp?JSP_VER=1&NS_VER=2022.2&minver=15&buildver=30671'></script>\r\n \t<script type='text/javascript' src='/assets/legacy_widgets/2249544138.js?NS_VER=2022.2&minver=15'></script>\r\n \t<script type='text/javascript' src='/assets/help_center_service/3696101135.js?NS_VER=2022.2&minver=15'></script>\r\n \t<script type='text/javascript' src='/assets/legacy_apputil/3709065897.js?NS_VER=2022.2&minver=15'></script>\r\n \t<script type='text/javascript' src='/javascript/NLAppUtil.jsp?JSP_VER=1&NS_VER=2022.2&minver=15&buildver=30671'></script>\r\n \t<script type='text/javascript' src='/uirefresh/script/global.js__NS_VER=2022.2&minver=15.nlqs?NS_VER=2022.2&minver=15&buildver=30671'></script>\r\n<link rel='stylesheet' href='/core/styles/pagestyles.nl?ct=-2&bglt=F2F4F6&bgmd=EDF1F7&bgdk=737A82&bgon=5C7499&bgoff=AFB5BF&bgbar=5C7499&tasktitletext=E4EAF4&crumbtext=C4C8CF&headertext=B5C1D5&ontab=FFFFFF&offtab=000000&text=000000&link=000000&bgbody=FFFFFF&bghead=FFFFFF&portlet=C0CAD9&portletlabel=000000&bgbutton=FFE599&bgrequiredfld=FFFFE5&font=Verdana%2CHelvetica%2Csans-serif&size_site_content=9pt&size_site_title=9pt&size=1.0&nlinputstyles=T&accessibility=F&appOnly=F&NS_VER=2022.2'><link rel='stylesheet' type='text/css' href='/uirefresh/css/button.css' />\n</head>\n\n<body bgcolor='#FFFFFF' link='#000000' vlink='#000000' alink='#330099' text='#000000' topmargin='0' marginheight='1' onload='page_init()' class='error-page'>\n<img class='uir-logo' src='/images/logos/netsuite-oracle.svg' border=0 style='margin-right
30px;margin left10px;'>\n<table border=0 cellPadding=0 cellSpacing=0 width=100%>\n\n<tr><td class='bglt'>\n<table border='0' cellspacing='0' cellpadding='5' width='100%'>\n<tr><td class='textboldnolink'>Notice</td></tr>\n<tr><td vAlign='top'>\n<table border='0' cellspacing='0' cellpadding='0' width='100%'>\n<tr><td class='text'> </td></tr>\n\n<tr><td class=text><img src='/images/5square.gif' width=5 height=5>You are not allowed to navigate directly to this page.</td></tr>\n\n<tr><td class='text'> </td></tr>\n<tr><td class='text'> </td></tr>\n</table></td></tr></table></td></tr>\n<tr><td><span id='tbl_login'><INPUT type='button' class='bgbutton' style='' value='Log In Again' id='login' name='login' onclick=\"document.location.href='/pages/login.jsp'; return false;\"></span></td></tr>\n</table>\n\n<script language='JavaScript' type='text/javascript'>\nfunction page_init() {\n}\n</script>\n\n</body>\n</html>\n"_
Then I use the renderPdfToResponse function to render the PDF, but it seems it is not working.
See the snippet below:
function renderPDF(scriptId, deployId, fulfillmentId){
log.debug("renderPDF", "*** START ***");
try{
var stURLSuitelet = url.resolveScript({
scriptId: scriptId,
deploymentId: deployId,
params: {
pid: fulfillmentId
},
returnExternalUrl: true
});
log.debug("renderPDF", "stURLSuitelet = " + stURLSuitelet);
var myServerResponseObj = https.get({
url: stURLSuitelet
});
log.debug("renderPDF", "myServerResponseObj = " + JSON.stringify(myServerResponseObj.body));
var renderer = render.create();
var fileObj = renderer.renderPdfToResponse({
response: myServerResponseObj.body
});
log.debug("renderPDF", "fileObj = " + fileObj);
return fileObj;
} catch (e) {
log.error({
title: "renderPDF: Error to create the PDF",
details: JSON.stringify(e)
});
}
}
Do you know what is wrong with my script?