mirror of
https://github.com/morbalint/kem2karakterlap.git
synced 2026-07-17 15:23:48 +00:00
67 lines
2.4 KiB
TypeScript
67 lines
2.4 KiB
TypeScript
import {PDFDocument} from "pdf-lib";
|
|
import fs from "fs/promises";
|
|
import fontKit from "@pdf-lib/fontkit"
|
|
import {addTextFieldFactory} from "./helpers";
|
|
import {renderMainPage} from "./renderMainPage";
|
|
import {renderSecondPage} from "./renderSecondPage";
|
|
import {renderFullCasterVarazslatlap, renderHalfCasterVarazslatlap} from "./renderVarazslatlap";
|
|
import {
|
|
renderVarazskonyvFrontPage,
|
|
renderVarazskonyvLeftPage,
|
|
renderVarazskonyvRightPage,
|
|
renderVarazskonyvSecondPage
|
|
} from "./renderVarazskonyv";
|
|
|
|
export async function Karlap() {
|
|
const docBuffer = await fs.readFile("kemkas2karakterlap.pdf", {encoding: null, flag: 'r'})
|
|
const doc = await PDFDocument.load(docBuffer)
|
|
doc.registerFontkit(fontKit)
|
|
const fontBuffer = await fs.readFile("fonts/Milonga-Regular.ttf", {encoding: null, flag: 'r'})
|
|
const pdfFont = await doc.embedFont(fontBuffer)
|
|
const form = doc.getForm()
|
|
|
|
const page0 = doc.getPage(0)
|
|
page0.setFont(pdfFont)
|
|
const addTextField0 = addTextFieldFactory(form, pdfFont, page0)
|
|
renderMainPage(addTextField0);
|
|
|
|
const page1 = doc.getPage(1)
|
|
page1.setFont(pdfFont)
|
|
const addTextField1 = addTextFieldFactory(form, pdfFont, page1)
|
|
renderSecondPage(addTextField1);
|
|
|
|
const page2 = doc.getPage(2)
|
|
page2.setFont(pdfFont)
|
|
const addTextField2 = addTextFieldFactory(form, pdfFont, page2)
|
|
renderFullCasterVarazslatlap(addTextField2);
|
|
|
|
const page3 = doc.getPage(3)
|
|
page3.setFont(pdfFont)
|
|
const addTextField3 = addTextFieldFactory(form, pdfFont, page3)
|
|
renderHalfCasterVarazslatlap(addTextField3);
|
|
|
|
const page4 = doc.getPage(4)
|
|
page4.setFont(pdfFont)
|
|
const addTextField4 = addTextFieldFactory(form, pdfFont, page4)
|
|
renderVarazskonyvFrontPage(addTextField4);
|
|
|
|
const page5 = doc.getPage(5)
|
|
page5.setFont(pdfFont)
|
|
const addTextField5 = addTextFieldFactory(form, pdfFont, page5)
|
|
renderVarazskonyvSecondPage(addTextField5);
|
|
|
|
const page6 = doc.getPage(6)
|
|
page6.setFont(pdfFont)
|
|
const addTextField6 = addTextFieldFactory(form, pdfFont, page6)
|
|
renderVarazskonyvRightPage(addTextField6);
|
|
|
|
const page7 = doc.getPage(7)
|
|
page7.setFont(pdfFont)
|
|
const addTextField7 = addTextFieldFactory(form, pdfFont, page7)
|
|
renderVarazskonyvLeftPage(addTextField7);
|
|
|
|
form.updateFieldAppearances(pdfFont)
|
|
const pdfBytes = await doc.save()
|
|
|
|
await fs.writeFile("karlap.pdf", pdfBytes)
|
|
} |