<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:include_script src="jsbarcode.jsdbx" />
<script>
function download_list() {
var html = document.getElementById('html_content').innerHTML;
html = html.toString();
var ga = new GlideAjax('PDF_util');
ga.addParam('sysparm_name', 'printPDF');
ga.addParam('sysparm_html', html);
ga.addParam('sysparm_sysid', g_form.getUniqueValue());
ga.addParam('sysparm_number', g_form.getValue('number'));
ga.getXMLAnswer(showResult);
function showResult(response) {
alert(response);
location.reload();
}
GlideDialogWindow.get().destroy();
}
function closeWindow() {
GlideDialogWindow.get().destroy();
}
// var barcode = barcode + '${jvar_record.getDisplayValue('number')}';
// var barbi =
// JsBarcode("#barcode", barcode,
// { format: "CODE39", width: 1, height: 30, margin: 1, textMargin: 5, textAlign: "left", fontSize: 8});
</script>
<g:evaluate jelly="true">
var srno = 0;
<!-- page page_properties -->
var page_properties = new GlideRecord('u_generate_pdf_table');
page_properties.get('8eb9b968833bc2103c33fdc6feaad33d');
var label_per_row = parseInt(page_properties.getValue('u_label_per_row'));
var label_height = parseInt(page_properties.getValue('u_label_height'));
var label_width = parseInt(page_properties.getValue('u_label_width'));
var label_margin = parseInt(page_properties.getValue('u_label_margin'));
<!-- change request -->
var sys_id = RP.getWindowProperties().get('change_id');
var change = new GlideRecord('change_request');
change.get(sys_id);
var change_number = change.number;
var req_by = change.getDisplayValue('requested_by');
var short_desc = change.getValue('short_description');
<!-- change tasks -->
var change_task = new GlideRecord('change_task');
change_task.addQuery('change_request',sys_id);
change_task.query();
change_task;
</g:evaluate>
<button class="btn btn-primary" onclick="download_list()">Download</button>
<button class="btn btn-default" onclick="closeWindow()" style="margin-right:10px;">Cancel</button>
<div id="html_content">
<div class="body">
<style>
.body{
border: 0.5px solid;
margin: auto;
width: 100%;
height: 100%;
padding: 10px;
}
.internal-table{
/* border: 0.5px solid; */
margin: auto;
width: 80%;
padding: 10px;
/* border-collapse: collapse; */
}
.internal_tr{
/* border: 0.5px solid; */
padding: 10px;
}
.internal-td{
/* border: 0.5px solid; */
/* padding: 10px; */
}
.custom_padding{
padding: ${label_margin}px;
}
.custom_height{
height: ${label_height}px;
}
.custom_width{
width: ${label_width}px;
}
h1{
text-align: center;
}
.hor_seperator{
border: 1px solid blue;
}
h5{
font-weight: bold;
}
</style>
<h1>PACKING LIST</h1>
<hr class="hor_seperator"/>
<div> <h5> Change tasks: </h5>
<table class="internal-table">
<j:while test="${change_task.next()}">
<g:evaluate var="jvar_record" object="true" jelly="true">
var ct = new GlideRecord("change_task");
ct.get(change_task.sys_id);
ct;
var srno = srno + 1;
var srno_str = srno.toString();
</g:evaluate>
<script>
var barcode = '${jvar_record.getDisplayValue('number')}';
var barbi =
JsBarcode("#barcode", barcode,
{ format: "CODE39", width: 1, height: 30, margin: 1, textMargin: 5, textAlign: "left", fontSize: 8});
</script>
<j:if test="${srno % label_per_row == 0}">
<td class="internal-td custom_height custom_width custom_padding">
${change_task.number}
<svg id="barcode" width="200" height="50"></svg>
</td>
<tr></tr>
</j:if>
<j:if test="${srno % label_per_row != 0}">
<td class="internal-td custom_height custom_width custom_padding" >
${change_task.number}
<svg id="barcode" width="200" height="50"></svg>
</td>
</j:if>
</j:while>
</table>
</div>
<hr class="hor_seperator"/>
</div>
</div>
</j:jelly>
for Client side code I am calling a <script> tag itself so there is nothing in client script.