image-to-pdf
Version:
A simple image to PDF converter
77 lines (76 loc) • 2.5 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.sizes = exports.convert = void 0;
const pdfkit_1 = __importDefault(require("pdfkit"));
const imageToPDF = (pages, size) => {
const doc = new pdfkit_1.default({ margin: 0, size });
for (let index = 0; index < pages.length; index++) {
if (index != 0)
doc.addPage();
doc.image(pages[index], 0, 0, {
fit: [doc.page.width - doc.page.margins.left - doc.page.margins.right, doc.page.height - doc.page.margins.top - doc.page.margins.bottom],
align: 'center', valign: 'center'
});
}
doc.end();
return doc;
};
exports.convert = imageToPDF;
// Importing from a file was always causing issues with either CJS or ESM and I felt bundling was an overkill
const sizes = {
"4A0": [4767.87, 6740.79],
"2A0": [3370.39, 4767.87],
"A0": [2383.94, 3370.39],
"A1": [1683.78, 2383.94],
"A2": [1190.55, 1683.78],
"A3": [841.89, 1190.55],
"A4": [595.28, 841.89],
"A5": [419.53, 595.28],
"A6": [297.64, 419.53],
"A7": [209.76, 297.64],
"A8": [147.40, 209.76],
"A9": [104.88, 147.40],
"A10": [73.70, 104.88],
"B0": [2834.65, 4008.19],
"B1": [2004.09, 2834.65],
"B2": [1417.32, 2004.09],
"B3": [1000.63, 1417.32],
"B4": [708.66, 1000.63],
"B5": [498.90, 708.66],
"B6": [354.33, 498.90],
"B7": [249.45, 354.33],
"B8": [175.75, 249.45],
"B9": [124.72, 175.75],
"B10": [87.87, 124.72],
"C0": [2599.37, 3676.54],
"C1": [1836.85, 2599.37],
"C2": [1298.27, 1836.85],
"C3": [918.43, 1298.27],
"C4": [649.13, 918.43],
"C5": [459.21, 649.13],
"C6": [323.15, 459.21],
"C7": [229.61, 323.15],
"C8": [161.57, 229.61],
"C9": [113.39, 161.57],
"C10": [79.37, 113.39],
"RA0": [2437.80, 3458.27],
"RA1": [1729.13, 2437.80],
"RA2": [1218.90, 1729.13],
"RA3": [864.57, 1218.90],
"RA4": [609.45, 864.57],
"SRA0": [2551.18, 3628.35],
"SRA1": [1814.17, 2551.18],
"SRA2": [1275.59, 1814.17],
"SRA3": [907.09, 1275.59],
"SRA4": [637.80, 907.09],
"EXECUTIVE": [521.86, 756.00],
"FOLIO": [612.00, 936.00],
"LEGAL": [612.00, 1008.00],
"LETTER": [612.00, 792.00],
"TABLOID": [792.00, 1224.00]
};
exports.sizes = sizes;
exports.default = imageToPDF;