X-Git-Url: https://git.kianting.info/?a=blobdiff_plain;f=tests%2FpdfManipulation.ts;h=6daaa1445a4bd49f39e93ac771235f83885912ed;hb=a59e1673073b613ea12bd8a0cfa7800826d50dce;hp=f4f09af88482531ad7fd19f8a39ab9ce5646be38;hpb=a37fd632a73c234b3095fd1dbd86927a9cc26af7;p=clo diff --git a/tests/pdfManipulation.ts b/tests/pdfManipulation.ts index f4f09af..6daaa14 100644 --- a/tests/pdfManipulation.ts +++ b/tests/pdfManipulation.ts @@ -1,35 +1,51 @@ import * as canva from "../src/canva.js"; -import { PDFDocument } from "pdf-lib"; -var fontkit = require('@pdf-lib/fontkit'); -import {writeFileSync} from 'fs'; +import {createWriteStream} from 'fs'; +import PDFDocument from 'pdfkit'; let hanziFont = { - name : "思源黑體", + family : "Noto Sans CJK TC", size : 12, + textWeight : canva.TextWeight.REGULAR, + textStyle : canva.TextStyle.ITALIC, +} + +let romanFont = { + family : "FreeSans", + size : 15, textWeight : canva.TextWeight.BOLD, textStyle : canva.TextStyle.ITALIC, } +let arabicFont = { + family : "noto sans arabic", + size : 16, + textWeight : canva.TextWeight.REGULAR, + textStyle : canva.TextStyle.NORMAL, +} + + async function foo (){ -let c = await PDFDocument.create(); + const doc = new PDFDocument(); -let clo = await { - mainText : ["123"], - mainFontStyle : hanziFont, - PDFCanvas : c, -} + let clo = await { + mainText : ["123 一隻貓跑過來"], + mainFontStyle : hanziFont, + PDFCanvas : doc, + + } + clo.PDFCanvas.pipe(createWriteStream('/tmp/output.pdf')); + -clo.PDFCanvas.registerFontkit(fontkit); -const page = clo.PDFCanvas.addPage(); -await canva.putText(clo, clo.mainText[0],hanziFont, 0, 100, 200); + await canva.putText(clo, clo.mainText[0],hanziFont, 0, 100, 200); + await canva.putText(clo, "ag téastáil" ,romanFont, 0, 100, 300); + await canva.putText(clo, "اَلْعَرَبِيَّةُ‎" ,arabicFont, 0, 100, 350); -const pdfBytes = await clo.PDFCanvas.save(); -writeFileSync('/tmp/test.pdf', pdfBytes); + doc.end(); };