import * as fontkit from "fontkit";
import * as util from "node:util";
import * as breakLines from "./breakLines";
+import "pdfkit";
+import PDFKitPage from "pdfkit/js/page";
+import { ColorTypes, PDFDocument, rgb } from "pdf-lib";
+import * as fs from "fs";
/**
* TYPES
//console.log(breakLineAlgorithms.totalCost(a,70));
let segmentedNodes = breakLineAlgorithms.segmentedNodes(a, 70);
- console.log(this.segmentedNodesToFrameBox(segmentedNodes, <FrameBox>this.attrs["defaultFrameStyle"]));
+ console.log(
+ this.segmentedNodesToFrameBox(segmentedNodes, <FrameBox>this.attrs["defaultFrameStyle"]));
+
+ // generate pdf
+ const pdfDoc = await PDFDocument.create();
+ var page = pdfDoc.addPage();
+ page.drawText('You can create PDFs!');
+
+ for (var j = 0; j<1000; j+=5){
+ if (j %50 == 0){
+ page.drawText(i.toString(), {x: 50, y: j});
+ }
+
+ page.drawLine({
+ start: { x: 0, y: j },
+ end: { x: 1000, y: j },
+ thickness: 0.5,
+ color: rgb(0.75, 0.2, 0.2),
+ opacity: 0.20,
+ });
+ }
+
+ for (var i = 0; i<1000; i+=5){
+ if (i % 50 == 0){
+ page.drawText(i.toString(), {x: i, y: 50});
+ }
+ page.drawLine({
+ start: { x: i, y: 0 },
+ end: { x: i, y: 1000 },
+ thickness: 0.5,
+ color: rgb(0.75, 0.2, 0.2),
+ opacity: 0.20,
+ });
+ }
+ pdfDoc.save();
+
+ const pdfBytes = await pdfDoc.save();
+ fs.writeFileSync("blank.pdf", pdfBytes);
}
segmentedNodesToFrameBox(segmentedNodes : BoxesItem[][], frame : FrameBox) : Box{