var ritm = new GlideRecord('sc_req_item');
ritm.addQuery("sys_id",current.sys_id);
ritm.query();
ritm.next();
var filename = ritm.number + '.pdf';
var table = ritm.getTableName();
var table_sys_id = ritm.getUniqueValue();
// create a new PDF generator
var formAPI = new global.GeneralFormAPI(filename, table, table_sys_id);
// grab a random image
var headerImage = null;
var att = new GlideRecord('sys_attachment');
att.addQuery('content_type', 'image/png');
att.addEncodedQuery('table_nameISNOTEMPTY');
att.query();
if (att.next()) {
headerImage = getAttachmentBase64(att);
}
var footer = 'Your footer message here';
// setDocument(header image, footer image, footer text, header alignment, footer alignment, paper size)
// alignment = "0" = left, "1" = centre, "2" = right. An invalid alignment will cause the image to not appear
formAPI.setDocument(headerImage, null, footer, '1', '1', 'a4');
// source HTML
// must be well-formed XML and not use <hr> (really)
var ritmSysId = current.sys_id;
var set = new GlideappVariablePoolQuestionSet();
set.setRequestID(ritmSysId);
set.load();
var vs = set.getFlatQuestions();
var valuesArray = [];
var csvHeader = [];
for(var i=0;i<vs.size();i++){
var variableLabel = vs.get(i).getLabel();
csvHeader.push(variableLabel.toString());
var variableValue = vs.get(i).getDisplayValue();
valuesArray.push(variableValue.toString());
}
var csvHeaderRow = csvHeader.toString();
var valueRow = valuesArray.toString();
var document = csvHeaderRow + "\n" + valueRow;
var pages = [
{heading: document }
];
var ritmRec = new GlideRecord('sc_req_item');
ritmRec.get(ritmSysId);
gs.debug('Create the PDF!');
// createPDF(html, pages)
// if you don't want to use pages just supply the html argument
formAPI.createPDF('', document);
function getAttachmentBase64(attachmentGR) {
var base64ImageStr = GlideStringUtil.base64Encode(new GlideSysAttachment().getBytes(attachmentGR));
return "data:image/png;base64," + base64ImageStr + "";
};
Generate PDF with variables detail ServiceNow
admin Changed status to publish December 19, 2023
Sorry, you do not have permission to read comments.