const pdfFillData = require('./pdfFillData'); class pdfFillDataCOX extends pdfFillData { /** * @param {string} [pdfDocumentName='COX'] - Наименование документа */ constructor() { super('COX'); this.billing_date = ''; this.account_number = ''; this.service_address_1 = ''; this.service_address_2 = ''; this.service_address_3 = ''; this.customer_name = ''; this.plan = ''; this.speed = ''; this.previous_balance = ''; this.payment_received = ''; this.credit_card_payment_thank_you = ''; this.cox_pin = ''; this.firstCode = ''; this.lastCode = ''; this.code_number = ''; this.services_from = ''; this.services_from2 = ''; this.services_from3 = ''; this.address = ''; this.totalDueBy = ''; this.p_an = ''; this.code_number_ocra = ''; this.rightMargin = 0; this.rightMargin2 = 0; this.rightMargin3 = 0; this.rightMargin4 = 0; this.rightMargin5 = 0; this.your_package = ""; this.equipment = "$15.00"; this.regular_monthly_charges = ''; this.other_charges = 0; this.totalD = 0; this.total = ''; this.regular_monthly_charges_d = 0; this.county_rate = 0.00; this.state_rate = 0.00; this.baseTarif = [ { name: "Go Fast", price: "$50.00", includes: "Download speeds up to 100 Mbps*|1.25 TB (1,280 GB) Monthly Data Plan|Over 4 Million Wifi Hotspots" }, { name: "Go Faster", price: "$70.00", includes: "Download speeds up to 250 Mbps*|1.25 TB (1,280 GB) Monthly Data Plan|Over 4 Million Wifi Hotspots" }, { name: "Go Even Faster", price: "$90.00", includes: "Download speeds up to 500 Mbps*|1.25 TB (1,280 GB) Monthly Data Plan|Over 4 Million Wifi Hotspots" } ]; } async setFields(fields) { // base this.billing_date = fields.billing_date; this.account_number = fields.account_number; this.service_address_1 = fields.service_address_1; this.service_address_2 = fields.service_address_2; this.service_address_3 = fields.service_address_3; this.address = fields.address; this.customer_name = fields.customer_name; this.plan = fields.plan; if(fields.speed != undefined) { this.speed = fields.speed; } if(fields.baseTarif != undefined) { this.baseTarif = fields.baseTarif; } if(this.baseTarif.length) { for (let iplan in this.baseTarif) { if (this.baseTarif[iplan].name == this.plan) { this.your_package = this.baseTarif[iplan].price; if (this.speed == '' || this.speed == undefined) { this.speed = this.baseTarif[iplan].includes; } this.speed = fields.speed.split("|"); } } } this.previous_balance = fields.previous_balance; this.payment_received = fields.payment_received; // other this.credit_card_payment_thank_you = this.getCreditCardPaymentDate(this.billing_date); this.cox_pin = String( this.generateDigitNumber(1000, 5000) ); this.firstCode = this.generateDigitNumberFormat(10000000,99999998,8); this.lastCode = this.generateDigitNumberFormat(10000,999998,6); this.code_number = '6400 ' + this.generateDigitNumberFormat(10,299,4) + ' NO RP 21 ' + this.getNextDateFormatted(this.billing_date) + ' NNNNNNNY 01 ' + this.lastCode; this.services_from = this.getServicePeriod2(this.billing_date); this.services_from2 = this.services_from.split(" to "); this.services_from3 = this.services_from2[0].split(",")[0]; this.services_from2 = this.services_from2[0].split(",")[0] + ' - ' + this.services_from2[1].split(",")[0]; this.totalDueBy = this.getTotalDueBy(this.billing_date); this.p_an = this.account_number.split(' '); this.code_number_ocra = '0' + this.p_an[1] + this.p_an[0] + this.generateDigitNumberFormat(450,550,3) + this.p_an[2] + this.generateDigitNumberFormat(470000999,660009999,9); //this.tarif = this.getPriceByAddress(this.plan, this.address, this.getSocrCache(), this.getTariffsCache()); //this.your_package = this.tarif.price.replace('/mo.',''); this.regular_monthly_charges = parseFloat(this.your_package.replace('$', '')) + parseFloat(this.equipment.replace('$', '')); this.regular_monthly_charges_d = this.regular_monthly_charges.toFixed(2); this.regular_monthly_charges = "$" + this.regular_monthly_charges_d; this.other_charges = await this.getTaxRateByAddress(this.address); this.county_rate = "$" + (this.regular_monthly_charges_d * (parseFloat(this.other_charges.details.rate.county_rate).toFixed(2) * 100) / 100).toFixed(2); this.state_rate = "$" + (this.regular_monthly_charges_d * (parseFloat(this.other_charges.details.rate.state_rate).toFixed(2) * 100) / 100).toFixed(2); this.other_charges = "$" + (this.regular_monthly_charges_d * (parseFloat(this.other_charges.details.rate.combined_rate).toFixed(2) * 100) / 100).toFixed(2); this.totalD = parseFloat(this.regular_monthly_charges.replace('$', '')) + parseFloat(this.other_charges.replace('$', '')); this.total = "$" + this.totalD.toFixed(2); this.rightMargin = this.pixelsToPoints(this.convert72to300_X(321.00), 300); this.rightMargin2 = this.pixelsToPoints(this.convert72to300_X(318.00), 300); this.rightMargin3 = this.pixelsToPoints(this.convert72to300_X(42.00), 300); this.rightMargin4 = this.pixelsToPoints(this.convert72to300_X(329.00), 300); this.rightMargin5 = this.pixelsToPoints(this.convert72to300_X(328.50), 300); } getCreditCardPaymentDate(billingDate) { return super.getCreditCardPaymentDate(billingDate); } pixelsToPoints(pixels, dpi = 72) { return super.pixelsToPoints(pixels, dpi); } generateDigitNumber(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } generateDigitNumberFormat(min, max, format) { return (Math.floor(Math.random() * (max - min + 1)) + min).toString().padStart(format, '0'); } getNextDateFormatted(inputDate) { // Создаем объект Date из входной даты const date = new Date(inputDate); // Добавляем 1 день date.setDate(date.getDate() + 1); // Форматируем в MMDDYYYY const month = String(date.getMonth() + 1).padStart(2, '0'); // +1, т.к. месяцы с 0 const day = String(date.getDate()).padStart(2, '0'); const year = date.getFullYear(); return `${month}${day}${year}`; } getServicePeriod2(billingDateStr) { const billingDate = new Date(billingDateStr); const firstDate = new Date(billingDate); const secondDate = new Date(billingDate); secondDate.setMonth(secondDate.getMonth() + 1); secondDate.setDate(secondDate.getDate() - 1); const options = { month: 'short', day: 'numeric', year: 'numeric' }; const firstDateStr = firstDate.toLocaleDateString('en-US', options); const secondDateStr = secondDate.toLocaleDateString('en-US', options); return `${firstDateStr} to ${secondDateStr}`; } getTotalDueBy(billingDateStr) { const billingDate = new Date(billingDateStr); // Создаем копию исходной даты const dueDate = new Date(billingDate); // Добавляем 21 день dueDate.setDate(dueDate.getDate() + 21); // Если дата попадает на воскресенье (0 - воскресенье в JS), смещаем на понедельник (+1 день) if (dueDate.getDay() === 0) { dueDate.setDate(dueDate.getDate() + 1); } const options = { month: 'short', day: 'numeric', year: 'numeric' }; const dueDateStr = dueDate.toLocaleDateString('en-US', options); return `${dueDateStr}`; } async draw() { this.dataMap = [ { ipage: 0, field: this.billing_date, x: this.pixelsToPoints(this.convert72to300_X(324.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(75.61, 8, 3.2, this.getPageHeight(0)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.account_number, x: this.pixelsToPoints(this.convert72to300_X(402.35), 300), y: this.pixelsToPoints(this.convert72to300_Y(167.76, 8, 3.2, this.getPageHeight(0)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.cox_pin, x: this.pixelsToPoints(this.convert72to300_X(402.35), 300), y: this.pixelsToPoints(this.convert72to300_Y(178.56, 8, 3.2, this.getPageHeight(0)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.service_address_1, x: this.pixelsToPoints(this.convert72to300_X(402.35), 300), y: this.pixelsToPoints(this.convert72to300_Y(189.36, 8, 3.3, this.getPageHeight(0)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.service_address_2, x: this.pixelsToPoints(this.convert72to300_X(402.35), 300), y: this.pixelsToPoints(this.convert72to300_Y(200.16, 8, 3.3, this.getPageHeight(0)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.service_address_3, x: this.pixelsToPoints(this.convert72to300_X(402.35), 300), y: this.pixelsToPoints(this.convert72to300_Y(210.71, 8, 3.2, this.getPageHeight(0)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.customer_name, x: this.pixelsToPoints(this.convert72to300_X(36.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(131.80, 8, 4.4, this.getPageHeight(0)), 300), size: 8, ifont: 0, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.service_address_2, x: this.pixelsToPoints(this.convert72to300_X(36.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(140.90, 8, 4.5, this.getPageHeight(0)), 300), size: 8, ifont: 0, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.service_address_1, x: this.pixelsToPoints(this.convert72to300_X(115.50), 300), y: this.pixelsToPoints(this.convert72to300_Y(140.90, 8, 4.5, this.getPageHeight(0)), 300), size: 8, ifont: 0, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.service_address_3.replaceAll(',',''), x: this.pixelsToPoints(this.convert72to300_X(36.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(150.00, 8, 4.5, this.getPageHeight(0)), 300), size: 8, ifont: 0, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.code_number, x: this.pixelsToPoints(this.convert72to300_X(36.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(119.55, 6, 4.5, this.getPageHeight(0)), 300), size: 6, ifont: 0, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.billing_date, x: this.pixelsToPoints(this.convert72to300_X(201.70), 300), y: this.pixelsToPoints(this.convert72to300_Y(233.87, 12, 3.1, this.getPageHeight(0)), 300), size: 12, ifont: 2, cR: 0.219, cG: 0.603, cB: 0.843, encoding: 'utf-8' }, { ipage: 0, field: this.services_from, x: this.pixelsToPoints(this.convert72to300_X(113.70), 300), y: this.pixelsToPoints(this.convert72to300_Y(300.52, 10, 3.2, this.getPageHeight(0)), 300), size: 10, ifont: 2, cR: 0.219, cG: 0.603, cB: 0.843, encoding: 'utf-8' }, { ipage: 0, field: this.credit_card_payment_thank_you.replaceAll(',',''), x: this.pixelsToPoints(this.convert72to300_X(137.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(266.47, 9, 3.5, this.getPageHeight(0)), 300), size: 9, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.totalDueBy, x: this.pixelsToPoints(this.convert72to300_X(101.70), 300), y: this.pixelsToPoints(this.convert72to300_Y(384.46, 9, 3.2, this.getPageHeight(0)), 300), size: 9, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.billing_date + ' bill for ' + this.customer_name, x: this.pixelsToPoints(this.convert72to300_X(306.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(544.85, 8, 3.0, this.getPageHeight(0)), 300), size: 8, ifont: 3, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.account_number, x: this.pixelsToPoints(this.convert72to300_X(378.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(544.90, 8, 8.3, this.getPageHeight(0)), 300), size: 8, ifont: 3, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.service_address_1, x: this.pixelsToPoints(this.convert72to300_X(378.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(565.41, 8, 3.1, this.getPageHeight(0)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.service_address_2, x: this.pixelsToPoints(this.convert72to300_X(378.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(575.05, 8, 3.3, this.getPageHeight(0)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.service_address_3, x: this.pixelsToPoints(this.convert72to300_X(378.00), 300), y: this.pixelsToPoints(this.convert72to300_Y(584.20, 8, 3.2, this.getPageHeight(0)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.totalDueBy, x: this.pixelsToPoints(this.convert72to300_X(369.50), 300), y: this.pixelsToPoints(this.convert72to300_Y(617.36, 10, 3.0, this.getPageHeight(0)), 300), size: 10, ifont: 3, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.code_number_ocra, x: this.pixelsToPoints(this.convert72to300_X(36.70), 300), y: this.pixelsToPoints(this.convert72to300_Y(753.72, 10, 3.1, this.getPageHeight(0)), 300), size: 10, ifont: 5, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.previous_balance, x: await this.alignTextToRight(0, 1, 10, this.rightMargin, this.previous_balance), y: this.pixelsToPoints(this.convert72to300_Y(251.22, 10, 3.1, this.getPageHeight(0)), 300), size: 10, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.payment_received, x: await this.alignTextToRight(0, 1, 10, this.rightMargin, this.payment_received), y: this.pixelsToPoints(this.convert72to300_Y(266.47, 10, 3.1, this.getPageHeight(0)), 300), size: 10, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: "$0.00", x: await this.alignTextToRight(0, 1, 10, this.rightMargin, "$0.00"), y: this.pixelsToPoints(this.convert72to300_Y(285.32, 10, 3.1, this.getPageHeight(0)), 300), size: 10, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.regular_monthly_charges, x: await this.alignTextToRight(0, 1, 10, this.rightMargin, this.regular_monthly_charges), y: this.pixelsToPoints(this.convert72to300_Y(314.47, 10, 3.1, this.getPageHeight(0)), 300), size: 10, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: "$0.00", x: await this.alignTextToRight(0, 1, 10, this.rightMargin, "$0.00"), y: this.pixelsToPoints(this.convert72to300_Y(331.72, 10, 3.1, this.getPageHeight(0)), 300), size: 10, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.other_charges, x: await this.alignTextToRight(0, 1, 10, this.rightMargin, this.other_charges), y: this.pixelsToPoints(this.convert72to300_Y(346.97, 10, 3.1, this.getPageHeight(0)), 300), size: 10, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.total, x: await this.alignTextToRight(0, 1, 10, this.rightMargin2, '-'+this.total), y: this.pixelsToPoints(this.convert72to300_Y(365.82, 10, 3.1, this.getPageHeight(0)), 300), size: 10, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.total, x: await this.alignTextToRight(0, 1, 10, this.rightMargin2, '-'+this.total), y: this.pixelsToPoints(this.convert72to300_Y(384.67, 10, 3.1, this.getPageHeight(0)), 300), size: 10, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 0, field: this.total, x: await this.alignTextToRight(0, 1, 10, this.rightMargin3, '-'+this.total), y: this.pixelsToPoints(this.convert72to300_Y(617.36, 10, 3.0, this.getPageHeight(0)), 300), size: 10, ifont: 3, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.code_number, x: this.pixelsToPoints(this.convert72to300_X(43.20), 300), y: this.pixelsToPoints(this.convert72to300_Y(9.60, 6, 4.8, this.getPageHeight(1)), 300), size: 6, ifont: 0, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.billing_date, x: this.pixelsToPoints(this.convert72to300_X(43.20), 300), y: this.pixelsToPoints(this.convert72to300_Y(23.76, 8, 3.5, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: ' Bill for ' + this.customer_name, x: this.pixelsToPoints(this.convert72to300_X(92.20), 300), y: this.pixelsToPoints(this.convert72to300_Y(23.76, 8, 3.5, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.account_number, x: this.pixelsToPoints(this.convert72to300_X(109.50), 300), y: this.pixelsToPoints(this.convert72to300_Y(34.31, 8, 3.5, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.services_from2, x: this.pixelsToPoints(this.convert72to300_X(144.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(92.86, 8, 3.6, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0.219, cG: 0.603, cB: 0.843, encoding: 'utf-8' }, { ipage: 1, field: this.plan, x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(128.61, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: (this.speed[0] || ''), x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(151.91, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: (this.speed[1] || ''), x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(164.61, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: (this.speed[2] || ''), x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(177.36, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: '*Visit cox.com/modems for', x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(190.06, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: 'compatible devices', x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(202.81, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.your_package, x: await this.alignTextToRight(1, 1, 8, this.rightMargin4, this.your_package), y: this.pixelsToPoints(this.convert72to300_Y(215.51, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.equipment, x: await this.alignTextToRight(1, 1, 8, this.rightMargin4, this.equipment), y: this.pixelsToPoints(this.convert72to300_Y(297.71, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.regular_monthly_charges, x: await this.alignTextToRight(1, 1, 8, this.rightMargin4, this.regular_monthly_charges), y: this.pixelsToPoints(this.convert72to300_Y(310.06, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.regular_monthly_charges, x: await this.alignTextToRight(1, 1, 8, this.rightMargin4, this.regular_monthly_charges), y: this.pixelsToPoints(this.convert72to300_Y(331.41, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: "Affordable Connectivity Benefit", x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(363.21, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.services_from3, x: this.pixelsToPoints(this.convert72to300_X(183.70), 300), y: this.pixelsToPoints(this.convert72to300_Y(363.21, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: "$0.00", x: await this.alignTextToRight(1, 1, 8, this.rightMargin5, "$0.00"), y: this.pixelsToPoints(this.convert72to300_Y(363.21, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: "$0.00", x: await this.alignTextToRight(1, 1, 8, this.rightMargin5, "$0.00"), y: this.pixelsToPoints(this.convert72to300_Y(379.21, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: "County Sales Tax", x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(421.56, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.county_rate, x: await this.alignTextToRight(1, 1, 8, this.rightMargin5, this.county_rate), y: this.pixelsToPoints(this.convert72to300_Y(421.56, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: "State Sales Tax", x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(433.91, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.state_rate, x: await this.alignTextToRight(1, 1, 8, this.rightMargin5, this.state_rate), y: this.pixelsToPoints(this.convert72to300_Y(433.91, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 1, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: "Total Internet Taxes and Fees", x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(446.26, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.other_charges, x: await this.alignTextToRight(1, 1, 8, this.rightMargin5, this.other_charges), y: this.pixelsToPoints(this.convert72to300_Y(446.26, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: "TOTAL TAXES, FEES AND SURCHARGES", x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(467.61, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.other_charges, x: await this.alignTextToRight(1, 1, 8, this.rightMargin5, this.other_charges), y: this.pixelsToPoints(this.convert72to300_Y(467.61, 8, 3.3, this.getPageHeight(1)), 300), size: 8, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: "TOTAL NEW CHARGES", x: this.pixelsToPoints(this.convert72to300_X(42.10), 300), y: this.pixelsToPoints(this.convert72to300_Y(489.66, 9, 3.3, this.getPageHeight(1)), 300), size: 9, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' }, { ipage: 1, field: this.total, x: await this.alignTextToRight(1, 1, 9, this.rightMargin5, this.total), y: this.pixelsToPoints(this.convert72to300_Y(489.66, 9, 3.3, this.getPageHeight(1)), 300), size: 9, ifont: 2, cR: 0, cG: 0, cB: 0, encoding: 'utf-8' } ]; for(let idm in this.dataMap) { await super.draw( this.dataMap[idm].ipage, this.dataMap[idm].field, this.dataMap[idm].x, this.dataMap[idm].y, this.dataMap[idm].size, this.dataMap[idm].ifont, this.dataMap[idm].cR, this.dataMap[idm].cG, this.dataMap[idm].cB, this.dataMap[idm].encoding ); } await this.generateDataMatrix( this.code_number.split(' NO ')[0].replace(' ','') + this.account_number, 'datamatrix', 0, this.pixelsToPoints(956, 300), this.pixelsToPoints(2800, 300), 20, 20, 1.8, 'R' ); await this.generateDataMatrix( this.firstCode + this.lastCode + 'G00001', 'datamatrixrectangular', 0, await this.alignTextToRight(0, 1, 8, 15, '...'), this.pixelsToPoints(2211, 300), 12, 36, 1.8, 'R' ); await this.generateDataMatrix( this.firstCode + this.lastCode + 'H00001', 'datamatrixrectangular', 1, await this.alignTextToRight(1, 1, 8, 15, '...'), this.pixelsToPoints(2211, 300), 12, 36, 1.8, 'R' ); await this.generateDataMatrix( this.account_number.replaceAll(" ",""), 'code128', 1, this.pixelsToPoints(1802, 300), this.pixelsToPoints(781, 300), 83, 13, 1.8, 'N' ); await super.drawline(1,0.5, this.pixelsToPoints(146, 300), this.pixelsToPoints(1450, 300), this.pixelsToPoints(1182, 300), this.pixelsToPoints(1450, 300), 0,0,0); await super.drawline(1,2, this.pixelsToPoints(144, 300), this.pixelsToPoints(1375, 300), this.pixelsToPoints(1184, 300), this.pixelsToPoints(1375, 300), 0,0,0); await super.drawline(1,2, this.pixelsToPoints(144, 300), this.pixelsToPoints(1287, 300), this.pixelsToPoints(1184, 300), this.pixelsToPoints(1287, 300), 0,0,0); } async saveData(host, outputDir) { return await super.saveData(host, outputDir, 'COX' ); } } module.exports = pdfFillDataCOX;