UNPKG

@pdfme/pdf-lib

Version:

Create and modify PDF files with JavaScript

54 lines 2.64 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 index_1 = require("../../../src/index"); const fancyFieldsPdfBytes = fs_1.default.readFileSync('assets/pdfs/fancy_fields.pdf'); const pdfDocPromise = index_1.PDFDocument.load(fancyFieldsPdfBytes); describe(`PDFCheckBox`, () => { it(`can read its value`, async () => { const pdfDoc = await pdfDocPromise; const form = pdfDoc.getForm(); const isAFairy = form.getCheckBox('Are You A Fairy? 🌿'); const isPowerLevelOver9000 = form.getCheckBox('Is Your Power Level Over 9000? 💪'); const onePunch = form.getCheckBox('Can You Defeat Enemies In One Punch? 👊'); const everLetMeDown = form.getCheckBox('Will You Ever Let Me Down? ☕️'); expect(isAFairy.isChecked()).toBe(true); expect(isPowerLevelOver9000.isChecked()).toBe(false); expect(onePunch.isChecked()).toBe(true); expect(everLetMeDown.isChecked()).toBe(false); }); it(`can read its flag states`, async () => { const pdfDoc = await pdfDocPromise; const form = pdfDoc.getForm(); const isAFairy = form.getCheckBox('Are You A Fairy? 🌿'); expect(isAFairy.isExported()).toBe(true); expect(isAFairy.isReadOnly()).toBe(false); expect(isAFairy.isRequired()).toBe(false); }); it(`produces printable widgets when added to a page`, async () => { const pdfDoc = await index_1.PDFDocument.create(); const page = pdfDoc.addPage(); const form = pdfDoc.getForm(); const checkBox = form.createCheckBox('a.new.check.box'); const widgets = () => checkBox.acroField.getWidgets(); expect(widgets().length).toBe(0); checkBox.addToPage(page); expect(widgets().length).toBe(1); expect(widgets()[0].hasFlag(index_1.AnnotationFlags.Print)).toBe(true); }); it(`sets page reference when added to a page`, async () => { const pdfDoc = await index_1.PDFDocument.create(); const page = pdfDoc.addPage(); const form = pdfDoc.getForm(); const checkBox = form.createCheckBox('a.new.check.box'); const widgets = () => checkBox.acroField.getWidgets(); expect(widgets().length).toBe(0); checkBox.addToPage(page); expect(widgets().length).toBe(1); expect(widgets()[0].P()).toBe(page.ref); }); }); //# sourceMappingURL=PDFCheckBox.spec.js.map