erp_be/scripts/preview-pdf-templates.js

33 lines
1.2 KiB
JavaScript

const fs = require('fs');
const path = require('path');
const { generatePdf } = require('../src/utils/pdf/pdfGenerator');
const { generatePoHtml } = require('../src/utils/pdf/templates/po.template');
const { generateGrnHtml } = require('../src/utils/pdf/templates/grn.template');
const { generateAssetHtml } = require('../src/utils/pdf/templates/asset.template');
const { generateAmcHtml } = require('../src/utils/pdf/templates/amc.template');
const OUTPUT_DIR = path.join(__dirname, '..', 'uploads', 'pdf-previews');
const templates = [
{ name: 'purchase-order', html: generatePoHtml() },
{ name: 'grn', html: generateGrnHtml() },
{ name: 'asset', html: generateAssetHtml() },
{ name: 'amc', html: generateAmcHtml() },
];
const run = async () => {
fs.mkdirSync(OUTPUT_DIR, { recursive: true });
for (const template of templates) {
const outputPath = path.join(OUTPUT_DIR, `${template.name}.pdf`);
const pdfBuffer = await generatePdf(template.html);
fs.writeFileSync(outputPath, pdfBuffer);
console.log(`Generated: ${outputPath}`);
}
};
run().catch((error) => {
console.error('PDF preview generation failed:', error.message);
process.exit(1);
});