mirror of
https://github.com/pdfme/pdfme.git
synced 2026-06-22 21:29:38 -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>
42 lines
1.8 KiB
TypeScript
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)));
|
|
};
|