JavaScript
var pdfViewModel = {
dynamicColumnExtraction : true,
dynamicColumns : [
{ columnText: 'Description', canonical: 'LineItem-Description' },
{ columnText: 'Qty', canonical: 'LineItem-SuppliedQuantity' },
{ columnText: 'Net Price', canonical: 'LineItem-TotalExcludingTax-Amount' },
{ columnText: 'Line Total', canonical: 'LineItem-TotalIncludingTax-Amount' }
],
topAnchor: { text: 'Net Price', page: 1 },
bottomAnchor: { text: 'Subtotal', page: 1 },
lineItemColumns : [],
data: [
/* Line Item labels */
{ page: 1, x1: 31, y1: 366, x2: 77, y2: 375, data: 'Description' },
{ page: 1, x1: 367, y1: 366, x2: 382, y2: 375, data: 'Qty' },
{ page: 1, x1: 401, y1: 366, x2: 440, y2: 375, data: 'Net Price' },
{ page: 1, x1: 483, y1: 366, x2: 523, y2: 375, data: 'Line Total' },
/* Line Item data - Line 1 */
{ page: 1, x1: 31, y1: 380, x2: 86, y2: 390, data: 'Appointment' },
{ page: 1, x1: 86, y1: 380, x2: 89, y2: 390, data: '-' },
{ page: 1, x1: 91, y1: 380, x2: 196, y2: 390, data: 'Physiotherapy Treatment' },
{ page: 1, x1: 380, y1: 380, x2: 385, y2: 390, data: '5' },
{ page: 1, x1: 449, y1: 380, x2: 457, y2: 390, data: '£' },
{ page: 1, x1: 457, y1: 380, x2: 480, y2: 390, data: '55.00' },
{ page: 1, x1: 528, y1: 380, x2: 536, y2: 390, data: '£' },
{ page: 1, x1: 536, y1: 380, x2: 564, y2: 390, data: '55.00' },
/* Line Item data - Line 2 */
{ page: 1, x1: 31, y1: 395, x2: 81, y2: 405, data: 'Assessment' },
{ page: 1, x1: 81, y1: 395, x2: 84, y2: 405, data: '-' },
{ page: 1, x1: 86, y1: 395, x2: 191, y2: 405, data: 'Physiotherapy Treatment' },
{ page: 1, x1: 380, y1: 395, x2: 385, y2: 405, data: '1' },
{ page: 1, x1: 444, y1: 395, x2: 452, y2: 405, data: '£' },
{ page: 1, x1: 452, y1: 395, x2: 480, y2: 405,...