flex.ts
1 import { writeFile } from "node:fs/promises"; 2 import { div, font, Fonts, page, pdf, text } from "pagiko"; 3 4 const times = font(Fonts.TimesRoman); 5 6 const file = pdf() 7 .author("Mikkel") 8 .font(times) 9 .child( 10 page() 11 .child( 12 div() 13 .flex() 14 .h(100) 15 .child( 16 div() 17 .flex() 18 .w(50) 19 .child(div().bg(0x00000).w(20)) 20 .child(div().bg(0x000ff).grow1()) 21 ) 22 .child( 23 div() 24 .flex() 25 .w(50) 26 .child(div().bg(0x00000).w(20)) 27 .child(div().bg(0x0ff00).grow1()) 28 ) 29 .child( 30 div() 31 .flex() 32 .w(50) 33 .child(div().bg(0x00000).w(20)) 34 .child(div().bg(0xff0ff).grow1()) 35 ) 36 ) 37 .child( 38 div() 39 .flex() 40 .h(100) 41 .child(div().w(100).shrink0().bg(0x00ff00)) 42 .child( 43 div() 44 .flex() 45 .flexCol() 46 .justifyCenter() 47 .grow1() 48 .bg(0xff00ff) 49 .child( 50 text( 51 "hey!hello, world! hello, world! hello, world! hello, world! hello, world! hello, world! hello, world! hello, world!hello, world!hello, world!hello, world!hello, world!hello, world!hello, world!hello, world!hello, world!hello, world!hello, world!" 52 ) 53 .font(times) 54 .textRight() 55 ) 56 // .child(text("hello world :)")) 57 ) 58 // .child(div().wFull().bg(0x0000ff)) 59 ) 60 ); 61 62 await writeFile("a4.pdf", await file.renderToBytes());