@pdfme/pdf-lib
Version:
Create and modify PDF files with JavaScript
56 lines • 2.96 kB
JavaScript
"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 catUnicornJpg = fs_1.default.readFileSync('./assets/images/cat_riding_unicorn.jpg');
const minionsLaughing = fs_1.default.readFileSync('./assets/images/minions_laughing.jpg');
const cmykJpg = fs_1.default.readFileSync('./assets/images/cmyk_colorspace.jpg');
describe(`JpegEmbedder`, () => {
it(`can be constructed with JpegEmbedder.for(...)`, async () => {
const embedder = await core_1.JpegEmbedder.for(catUnicornJpg);
expect(embedder).toBeInstanceOf(core_1.JpegEmbedder);
});
it(`can embed JPEG images into PDFContexts without a predefined ref`, async () => {
const context = core_1.PDFContext.create();
const embedder = await core_1.JpegEmbedder.for(catUnicornJpg);
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 JPEG 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.JpegEmbedder.for(catUnicornJpg);
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 extract properties of JPEG images (1)`, async () => {
const embedder = await core_1.JpegEmbedder.for(catUnicornJpg);
expect(embedder.bitsPerComponent).toBe(8);
expect(embedder.height).toBe(1080);
expect(embedder.width).toBe(1920);
expect(embedder.colorSpace).toBe('DeviceRGB');
});
it(`can extract properties of JPEG images (2)`, async () => {
const embedder = await core_1.JpegEmbedder.for(minionsLaughing);
expect(embedder.bitsPerComponent).toBe(8);
expect(embedder.height).toBe(354);
expect(embedder.width).toBe(630);
expect(embedder.colorSpace).toBe('DeviceRGB');
});
it(`can extract properties of JPEG images (3)`, async () => {
const embedder = await core_1.JpegEmbedder.for(cmykJpg);
expect(embedder.bitsPerComponent).toBe(8);
expect(embedder.height).toBe(333);
expect(embedder.width).toBe(500);
expect(embedder.colorSpace).toBe('DeviceCMYK');
});
});
//# sourceMappingURL=JpegEmbedder.spec.js.map