Files
pdfme/packages/generator/__tests__/utils.ts
devin-ai-integration[bot] 1a58874c32 Update TypeScript to version 5.8.2 (#802)
* 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>
2025-03-04 18:15:28 +09:00

42 lines
1.8 KiB
TypeScript

import { readFileSync } from 'fs';
import * as path from 'path';
import { Font, getDefaultFont } from '@pdfme/common';
import { pdf2img } from '@pdfme/converter';
const SauceHanSansJPData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
const SauceHanSerifJPData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
const NotoSerifJPRegularData = readFileSync(
// path.join(__dirname, `/assets/fonts/NotoSerifJP-Regular.otf`)
path.join(__dirname, `/assets/fonts/NotoSerifJP-Regular.ttf`)
);
const NotoSansJPRegularData = readFileSync(
// path.join(__dirname, `/assets/fonts/NotoSansJP-Regular.otf`)
path.join(__dirname, `/assets/fonts/NotoSansJP-Regular.ttf`)
);
const GloriaHallelujahRegularData = readFileSync(
path.join(__dirname, `/assets/fonts/GloriaHallelujah-Regular.ttf`)
);
const GreatVibesRegularData = readFileSync(
path.join(__dirname, `/assets/fonts/GreatVibes-Regular.ttf`)
);
const JuliusSansOneRegularData = readFileSync(
path.join(__dirname, `/assets/fonts/JuliusSansOne-Regular.ttf`)
);
export const getFont = (): Font => ({
...getDefaultFont(),
SauceHanSansJP: { data: SauceHanSansJPData },
SauceHanSerifJP: { data: SauceHanSerifJPData },
'NotoSerifJP-Regular': { data: NotoSerifJPRegularData },
'NotoSansJP-Regular': { data: NotoSansJPRegularData },
'GloriaHallelujah-Regular': { data: GloriaHallelujahRegularData },
'GreatVibes-Regular': { data: GreatVibesRegularData },
'JuliusSansOne-Regular': { data: JuliusSansOneRegularData },
NotoSerifJP: { data: NotoSerifJPRegularData },
NotoSansJP: { data: NotoSansJPRegularData },
});
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)));
};