UNPKG

@pdfme/pdf-lib

Version:

Create and modify PDF files with JavaScript

72 lines 3.84 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = __importDefault(require("fs")); const core_1 = require("../../../src/core"); const greyscalePng = fs_1.default.readFileSync('./assets/images/greyscale_bird.png'); const rgbaPng = fs_1.default.readFileSync('./assets/images/minions_banana_alpha.png'); const rgbPng = fs_1.default.readFileSync('./assets/images/minions_banana_no_alpha.png'); describe(`PngEmbedder`, () => { it(`can be constructed with PngEmbedder.for(...)`, async () => { const embedder = await core_1.PngEmbedder.for(greyscalePng); expect(embedder).toBeInstanceOf(core_1.PngEmbedder); }); it(`can embed PNG images into PDFContexts with a predefined ref`, async () => { const context = core_1.PDFContext.create(); const predefinedRef = core_1.PDFRef.of(9999); const embedder = await core_1.PngEmbedder.for(greyscalePng); expect(context.enumerateIndirectObjects().length).toBe(0); const ref = await embedder.embedIntoContext(context, predefinedRef); expect(context.enumerateIndirectObjects().length).toBe(1); expect(context.lookup(predefinedRef)).toBeInstanceOf(core_1.PDFRawStream); expect(ref).toBe(predefinedRef); }); it(`can embed greyscale PNG images into PDFContexts`, async () => { const context = core_1.PDFContext.create(); const embedder = await core_1.PngEmbedder.for(greyscalePng); expect(context.enumerateIndirectObjects().length).toBe(0); const ref = await embedder.embedIntoContext(context); expect(context.enumerateIndirectObjects().length).toBe(1); expect(context.lookup(ref)).toBeInstanceOf(core_1.PDFRawStream); }); it(`can embed RGBA PNG images into PDFContexts`, async () => { const context = core_1.PDFContext.create(); const embedder = await core_1.PngEmbedder.for(rgbaPng); expect(context.enumerateIndirectObjects().length).toBe(0); const ref = await embedder.embedIntoContext(context); expect(context.enumerateIndirectObjects().length).toBe(2); expect(context.lookup(ref)).toBeInstanceOf(core_1.PDFRawStream); }); it(`can embed RGB PNG images into PDFContexts`, async () => { const context = core_1.PDFContext.create(); const embedder = await core_1.PngEmbedder.for(rgbPng); expect(context.enumerateIndirectObjects().length).toBe(0); const ref = await embedder.embedIntoContext(context); expect(context.enumerateIndirectObjects().length).toBe(1); expect(context.lookup(ref)).toBeInstanceOf(core_1.PDFRawStream); }); it(`can extract properties of greyscale PNG images`, async () => { const embedder = await core_1.PngEmbedder.for(greyscalePng); expect(embedder.bitsPerComponent).toBe(8); expect(embedder.height).toBe(375); expect(embedder.width).toBe(600); expect(embedder.colorSpace).toBe('DeviceRGB'); }); it(`can extract properties of RGBA PNG images`, async () => { const embedder = await core_1.PngEmbedder.for(rgbaPng); expect(embedder.bitsPerComponent).toBe(8); expect(embedder.height).toBe(640); expect(embedder.width).toBe(960); expect(embedder.colorSpace).toBe('DeviceRGB'); }); it(`can extract properties of RGB PNG images`, async () => { const embedder = await core_1.PngEmbedder.for(rgbPng); expect(embedder.bitsPerComponent).toBe(8); expect(embedder.height).toBe(640); expect(embedder.width).toBe(960); expect(embedder.colorSpace).toBe('DeviceRGB'); }); }); //# sourceMappingURL=PngEmbedder.spec.js.map