mirror of
https://github.com/pdfme/pdfme.git
synced 2026-05-19 12:15:08 -04:00
* Update TypeScript to version 5.8.2 and fix type compatibility issues Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com> * Update package-lock.json for TypeScript 5.8.2 Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com> * Fix TypeScript errors in generator package Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com> * Update moduleResolution to esnext in all tsconfig.esm.json files and fix type errors in generator package Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com> * Update moduleResolution to bundler in all tsconfig.esm.json files Co-Authored-By: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Kyohei Fukuda <kyouhei.fukuda0729@gmail.com>
26 lines
822 B
TypeScript
26 lines
822 B
TypeScript
import { PDFDocument } from '@pdfme/pdf-lib';
|
|
import { pdf2img } from '@pdfme/converter';
|
|
|
|
export const createTestPDF = async (pageCount: number): Promise<Uint8Array> => {
|
|
const pdfDoc = await PDFDocument.create();
|
|
for (let i = 0; i < pageCount; i++) {
|
|
const page = pdfDoc.addPage([500, 500]);
|
|
page.drawText(`Page ${i + 1}`, {
|
|
x: 50,
|
|
y: 450,
|
|
size: 20,
|
|
});
|
|
}
|
|
return pdfDoc.save();
|
|
};
|
|
|
|
export const pdfToImages = async (pdf: ArrayBuffer | Uint8Array): Promise<Buffer[]> => {
|
|
const arrayBuffers = await pdf2img(pdf, { imageType: 'png' });
|
|
return arrayBuffers.map((buf) => Buffer.from(new Uint8Array(buf)));
|
|
};
|
|
|
|
export const getPDFPageCount = async (pdf: ArrayBuffer | Uint8Array): Promise<number> => {
|
|
const pdfDoc = await PDFDocument.load(pdf);
|
|
return pdfDoc.getPageCount();
|
|
};
|