Files
2024-02-22 13:13:34 +01:00

29 lines
809 B
TypeScript

import {PDFFont, PDFForm, PDFPage, PDFTextField, rgb} from "pdf-lib";
export interface TextFieldOptions {
name: string,
x: number,
y: number,
w: number,
h: number,
text?: string,
}
export type RenderTextFieldFunc = (options: TextFieldOptions) => PDFTextField;
export function addTextFieldFactory(form: PDFForm, pdfFont: PDFFont, page: PDFPage): RenderTextFieldFunc {
return (options: TextFieldOptions) => {
const field = form.createTextField(options.name)
field.setText(options.text)
field.addToPage(page, {
x: options.x,
y: options.y,
font: pdfFont,
borderColor: rgb(1, 1, 1),
borderWidth: 0,
width: options.w,
height: options.h,
})
return field
}
}