]>
git.kianting.info Git - uann/blob - src/pdfManipulate.js
2 var __awaiter
= (this && this.__awaiter
) || function (thisArg
, _arguments
, P
, generator
) {
3 function adopt(value
) { return value
instanceof P
? value
: new P(function (resolve
) { resolve(value
); }); }
4 return new (P
|| (P
= Promise
))(function (resolve
, reject
) {
5 function fulfilled(value
) { try { step(generator
.next(value
)); } catch (e
) { reject(e
); } }
6 function rejected(value
) { try { step(generator
["throw"](value
)); } catch (e
) { reject(e
); } }
7 function step(result
) { result
.done
? resolve(result
.value
) : adopt(result
.value
).then(fulfilled
, rejected
); }
8 step((generator
= generator
.apply(thisArg
, _arguments
|| [])).next());
11 Object
.defineProperty(exports
, "__esModule", { value
: true });
12 exports
.pdfGenerate
= void 0;
13 const fs_1
= require("fs");
14 const pdf_lib_1
= require("pdf-lib");
15 var fontkit
= require('@pdf-lib/fontkit');
16 function pdfGenerate() {
17 return __awaiter(this, void 0, void 0, function* () {
18 const pdfDoc
= yield pdf_lib_1
.PDFDocument
.create();
19 const page
= pdfDoc
.addPage();
20 pdfDoc
.registerFontkit(fontkit
);
21 const fontBytes
= (0, fs_1
.readFileSync
)("/usr/share/fonts/uming.ttf");
22 const font2
= yield pdfDoc
.embedFont(fontBytes
, { subset
: true });
23 const fontBytes2
= (0, fs_1
.readFileSync
)("/usr/share/fonts/truetype/noto/NotoSansArabic-Light.ttf");
24 const font3
= yield pdfDoc
.embedFont(fontBytes2
, { subset
: true });
25 page
.drawText("x=20, y=20", { x
: 20, y
: 20 });
26 page
.drawText("x:20, y:100 天地人", { x
: 20, y
: 100, font
: font2
});
27 page
.drawText("عربي", { x
: 50, y
: 150, font
: font3
});
28 const pdfBytes
= yield pdfDoc
.save();
29 (0, fs_1
.writeFileSync
)('/tmp/test.pdf', pdfBytes
);
32 exports
.pdfGenerate
= pdfGenerate
;