/var/www/greso.tech/server/nsm/node_modules/pdf-lib/cjs/api/form
NameSizeModeActions
appearances.d.ts30970644editdlrm
appearances.d.ts.map22260644editdlrm
appearances.js219830644editdlrm
appearances.js.map162340644editdlrm
index.d.ts5640644editdlrm
index.d.ts.map6250644editdlrm
index.js16900644editdlrm
index.js.map4500644editdlrm
PDFButton.d.ts59700644editdlrm
PDFButton.d.ts.map10420644editdlrm
PDFButton.js108880644editdlrm
PDFButton.js.map44370644editdlrm
PDFCheckBox.d.ts60240644editdlrm
PDFCheckBox.d.ts.map8790644editdlrm
PDFCheckBox.js103100644editdlrm
PDFCheckBox.js.map41650644editdlrm
PDFDropdown.d.ts173780644editdlrm
PDFDropdown.d.ts.map17560644editdlrm
PDFDropdown.js259160644editdlrm
PDFDropdown.js.map88790644editdlrm
PDFField.d.ts80260644editdlrm
PDFField.d.ts.map26090644editdlrm
PDFField.js174520644editdlrm
PDFField.js.map97980644editdlrm
PDFForm.d.ts160610644editdlrm
PDFForm.d.ts.map23220644editdlrm
PDFForm.js310240644editdlrm
PDFForm.js.map158050644editdlrm
PDFOptionList.d.ts146600644editdlrm
PDFOptionList.d.ts.map15700644editdlrm
PDFOptionList.js225180644editdlrm
PDFOptionList.js.map81440644editdlrm
PDFRadioGroup.d.ts114630644editdlrm
PDFRadioGroup.d.ts.map12040644editdlrm
PDFRadioGroup.js197100644editdlrm
PDFRadioGroup.js.map69540644editdlrm
PDFSignature.d.ts13090644editdlrm
PDFSignature.d.ts.map4400644editdlrm
PDFSignature.js18050644editdlrm
PDFSignature.js.map6770644editdlrm
PDFTextField.d.ts232550644editdlrm
PDFTextField.d.ts.map21200644editdlrm
PDFTextField.js327640644editdlrm
PDFTextField.js.map96160644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/pdf-lib/cjs/api/form/PDFButton.js (10888B)
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var PDFPage_1 = tslib_1.__importDefault(require("../PDFPage")); var PDFFont_1 = tslib_1.__importDefault(require("../PDFFont")); var alignment_1 = require("../image/alignment"); var appearances_1 = require("./appearances"); var PDFField_1 = tslib_1.__importStar(require("./PDFField")); var colors_1 = require("../colors"); var rotations_1 = require("../rotations"); var core_1 = require("../../core"); var utils_1 = require("../../utils"); /** * Represents a button field of a [[PDFForm]]. * * [[PDFButton]] fields are interactive controls that users can click with their * mouse. This type of [[PDFField]] is not stateful. The purpose of a button * is to perform an action when the user clicks on it, such as opening a print * modal or resetting the form. Buttons are typically rectangular in shape and * have a text label describing the action that they perform when clicked. */ var PDFButton = /** @class */ (function (_super) { tslib_1.__extends(PDFButton, _super); function PDFButton(acroPushButton, ref, doc) { var _this = _super.call(this, acroPushButton, ref, doc) || this; utils_1.assertIs(acroPushButton, 'acroButton', [ [core_1.PDFAcroPushButton, 'PDFAcroPushButton'], ]); _this.acroField = acroPushButton; return _this; } /** * Display an image inside the bounds of this button's widgets. For example: * ```js * const pngImage = await pdfDoc.embedPng(...) * const button = form.getButton('some.button.field') * button.setImage(pngImage, ImageAlignment.Center) * ``` * This will update the appearances streams for each of this button's widgets. * @param image The image that should be displayed. * @param alignment The alignment of the image. */ PDFButton.prototype.setImage = function (image, alignment) { if (alignment === void 0) { alignment = alignment_1.ImageAlignment.Center; } var widgets = this.acroField.getWidgets(); for (var idx = 0, len = widgets.length; idx < len; idx++) { var widget = widgets[idx]; var streamRef = this.createImageAppearanceStream(widget, image, alignment); this.updateWidgetAppearances(widget, { normal: streamRef }); } this.markAsClean(); }; /** * Set the font size for this field. Larger font sizes will result in larger * text being displayed when PDF readers render this button. Font sizes may * be integer or floating point numbers. Supplying a negative font size will * cause this method to throw an error. * * For example: * ```js * const button = form.getButton('some.button.field') * button.setFontSize(4) * button.setFontSize(15.7) * ``` * * > This method depends upon the existence of a default appearance * > (`/DA`) string. If this field does not have a default appearance string, * > or that string does not contain a font size (via the `Tf` operator), * > then this method will throw an error. * * @param fontSize The font size to be used when rendering text in this field. */ PDFButton.prototype.setFontSize = function (fontSize) { utils_1.assertPositive(fontSize, 'fontSize'); this.acroField.setFontSize(fontSize); this.markAsDirty(); }; /** * Show this button on the specified page with the given text. For example: * ```js * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes) * const page = pdfDoc.addPage() * * const form = pdfDoc.getForm() * const button = form.createButton('some.button.field') * * button.addToPage('Do Stuff', page, { * x: 50, * y: 75, * width: 200, * height: 100, * textColor: rgb(1, 0, 0), * backgroundColor: rgb(0, 1, 0), * borderColor: rgb(0, 0, 1), * borderWidth: 2, * rotate: degrees(90), * font: ubuntuFont, * }) * ``` * This will create a new widget for this button field. * @param text The text to be displayed for this button widget. * @param page The page to which this button widget should be added. * @param options The options to be used when adding this button widget. */ PDFButton.prototype.addToPage = function ( // TODO: This needs to be optional, e.g. for image buttons text, page, options) { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; utils_1.assertOrUndefined(text, 'text', ['string']); utils_1.assertOrUndefined(page, 'page', [[PDFPage_1.default, 'PDFPage']]); PDFField_1.assertFieldAppearanceOptions(options); // Create a widget for this button var widget = this.createWidget({ x: ((_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0) - ((_b = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _b !== void 0 ? _b : 0) / 2, y: ((_c = options === null || options === void 0 ? void 0 : options.y) !== null && _c !== void 0 ? _c : 0) - ((_d = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _d !== void 0 ? _d : 0) / 2, width: (_e = options === null || options === void 0 ? void 0 : options.width) !== null && _e !== void 0 ? _e : 100, height: (_f = options === null || options === void 0 ? void 0 : options.height) !== null && _f !== void 0 ? _f : 50, textColor: (_g = options === null || options === void 0 ? void 0 : options.textColor) !== null && _g !== void 0 ? _g : colors_1.rgb(0, 0, 0), backgroundColor: (_h = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _h !== void 0 ? _h : colors_1.rgb(0.75, 0.75, 0.75), borderColor: options === null || options === void 0 ? void 0 : options.borderColor, borderWidth: (_j = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _j !== void 0 ? _j : 0, rotate: (_k = options === null || options === void 0 ? void 0 : options.rotate) !== null && _k !== void 0 ? _k : rotations_1.degrees(0), caption: text, hidden: options === null || options === void 0 ? void 0 : options.hidden, page: page.ref, }); var widgetRef = this.doc.context.register(widget.dict); // Add widget to this field this.acroField.addWidget(widgetRef); // Set appearance streams for widget var font = (_l = options === null || options === void 0 ? void 0 : options.font) !== null && _l !== void 0 ? _l : this.doc.getForm().getDefaultFont(); this.updateWidgetAppearance(widget, font); // Add widget to the given page page.node.addAnnot(widgetRef); }; /** * Returns `true` if this button has been marked as dirty, or if any of this * button's widgets do not have an appearance stream. For example: * ```js * const button = form.getButton('some.button.field') * if (button.needsAppearancesUpdate()) console.log('Needs update') * ``` * @returns Whether or not this button needs an appearance update. */ PDFButton.prototype.needsAppearancesUpdate = function () { var _a; if (this.isDirty()) return true; var widgets = this.acroField.getWidgets(); for (var idx = 0, len = widgets.length; idx < len; idx++) { var widget = widgets[idx]; var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof core_1.PDFStream; if (!hasAppearances) return true; } return false; }; /** * Update the appearance streams for each of this button's widgets using * the default appearance provider for buttons. For example: * ```js * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) * const button = form.getButton('some.button.field') * button.defaultUpdateAppearances(helvetica) * ``` * @param font The font to be used for creating the appearance streams. */ PDFButton.prototype.defaultUpdateAppearances = function (font) { utils_1.assertIs(font, 'font', [[PDFFont_1.default, 'PDFFont']]); this.updateAppearances(font); }; /** * Update the appearance streams for each of this button's widgets using * the given appearance provider. If no `provider` is passed, the default * appearance provider for buttons will be used. For example: * ```js * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) * const button = form.getButton('some.button.field') * button.updateAppearances(helvetica, (field, widget, font) => { * ... * return { * normal: drawButton(...), * down: drawButton(...), * } * }) * ``` * @param font The font to be used for creating the appearance streams. * @param provider Optionally, the appearance provider to be used for * generating the contents of the appearance streams. */ PDFButton.prototype.updateAppearances = function (font, provider) { utils_1.assertIs(font, 'font', [[PDFFont_1.default, 'PDFFont']]); utils_1.assertOrUndefined(provider, 'provider', [Function]); var widgets = this.acroField.getWidgets(); for (var idx = 0, len = widgets.length; idx < len; idx++) { var widget = widgets[idx]; this.updateWidgetAppearance(widget, font, provider); } }; PDFButton.prototype.updateWidgetAppearance = function (widget, font, provider) { var apProvider = provider !== null && provider !== void 0 ? provider : appearances_1.defaultButtonAppearanceProvider; var appearances = appearances_1.normalizeAppearance(apProvider(this, widget, font)); this.updateWidgetAppearanceWithFont(widget, font, appearances); }; /** * > **NOTE:** You probably don't want to call this method directly. Instead, * > consider using the [[PDFForm.getButton]] method, which will create an * > instance of [[PDFButton]] for you. * * Create an instance of [[PDFButton]] from an existing acroPushButton and ref * * @param acroPushButton The underlying `PDFAcroPushButton` for this button. * @param ref The unique reference for this button. * @param doc The document to which this button will belong. */ PDFButton.of = function (acroPushButton, ref, doc) { return new PDFButton(acroPushButton, ref, doc); }; return PDFButton; }(PDFField_1.default)); exports.default = PDFButton; //# sourceMappingURL=PDFButton.js.map