Created
June 2, 2023 20:09
-
-
Save moshen/1d84a2d7b250c2577c018d9243b318c0 to your computer and use it in GitHub Desktop.
Short script with description for making gigantic pdfs for testing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Make some big docs to make big pdfs | |
* | |
* node make_giant_doc.js > giant.html | |
* wkhtmltopdf giant.html giant.pdf | |
*/ | |
const NUM_PAGES = 15000; | |
const LOREM = ` | |
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam placerat nibh eget | |
neque dapibus tempus. In tortor diam, mollis eu sollicitudin id, finibus a ex. | |
Proin pharetra, orci in porttitor ultrices, lorem turpis dapibus risus, vitae | |
sagittis justo lorem ac mi. Sed ultrices rutrum mi non auctor. Praesent | |
tristique sapien id lectus pellentesque faucibus. Suspendisse mollis tempus | |
nulla, a porttitor leo vestibulum ultrices. Nunc aliquam ex quis leo sodales, | |
non ultrices nisl auctor. Sed tincidunt semper venenatis. Phasellus augue | |
ligula, tempor quis felis ut, lacinia cursus metus. Pellentesque arcu eros, | |
congue sit amet elementum eget, sagittis sed tellus. Vestibulum vitae finibus | |
arcu. Donec sed bibendum orci, nec convallis turpis. Ut id ligula quis elit | |
tincidunt elementum sit amet non neque. Nam efficitur feugiat lorem, ut | |
sollicitudin diam tristique a. Aliquam ullamcorper vestibulum magna vel | |
laoreet. | |
Sed libero purus, blandit sed blandit vitae, mollis vitae felis. Nam in mauris | |
at orci ullamcorper tempor eget ut libero. Integer iaculis venenatis rhoncus. Ut | |
elementum iaculis velit eget lacinia. Etiam iaculis nisi sodales varius maximus. | |
Vestibulum a dictum diam, a interdum dolor. In semper iaculis urna vitae | |
venenatis. Proin eget imperdiet sem. Curabitur dolor justo, sollicitudin nec | |
lectus quis, sollicitudin pretium ante. Aenean sagittis eros orci, ut malesuada | |
mauris cursus eu. Interdum et malesuada fames ac ante ipsum primis in faucibus. | |
Praesent sed aliquet sapien, in molestie velit. | |
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia | |
curae; Proin feugiat pulvinar massa, ut dictum leo commodo sed. Etiam et est | |
orci. Donec tortor odio, tempor ac enim at, vulputate malesuada dui. Suspendisse | |
imperdiet sem et elit fringilla, ut hendrerit lacus tempor. Etiam ullamcorper | |
ornare magna vel pharetra. Suspendisse aliquam gravida libero, vitae tempor | |
augue scelerisque non. Fusce vestibulum, ante quis feugiat commodo, massa ex | |
auctor arcu, a feugiat turpis justo vitae nulla. Nunc vel nibh leo. Nunc | |
placerat quis ligula et dignissim. Quisque efficitur est a aliquet feugiat. In | |
hac habitasse platea dictumst. Donec rhoncus, quam sit amet fermentum lobortis, | |
purus leo rhoncus ipsum, ut euismod nunc velit non dolor. | |
Cras hendrerit placerat orci sit amet gravida. Sed at tortor auctor, ultricies | |
massa in, mattis ligula. Suspendisse suscipit tincidunt fermentum. Aliquam quis | |
lectus vel justo commodo vulputate vel vulputate nisl. Nam convallis faucibus | |
dignissim. In feugiat lectus ut justo scelerisque, quis ullamcorper elit | |
ultrices. Curabitur lobortis, lectus nec dapibus efficitur, dolor lacus mollis | |
mauris, eget congue risus ex eu massa. Donec varius cursus molestie. Proin et | |
quam feugiat, ornare ex nec, laoreet massa. Cras malesuada lacinia tincidunt. | |
Suspendisse mattis pellentesque rhoncus. Etiam egestas, justo sit amet laoreet | |
luctus, elit nisi consequat enim, vitae fermentum justo sem et orci. | |
Etiam varius lorem nisl. Vestibulum dictum diam in magna efficitur elementum. Ut | |
tellus turpis, pharetra quis urna sed, placerat vestibulum eros. Aenean id | |
luctus leo. Nulla facilisi. Cras non sem vitae erat cursus placerat quis vel | |
arcu. Fusce ultricies ex in ligula ornare, et convallis purus fringilla. Aenean | |
maximus ipsum non arcu mattis, a interdum ipsum auctor. Mauris magna est, porta | |
at rutrum sed, ultrices quis magna. Vestibulum eget dictum nunc. Sed eu | |
facilisis est. Cras a nulla posuere, bibendum nulla id, volutpat nisl. | |
Vestibulum tempor, massa molestie viverra facilisis, sapien odio tincidunt | |
lacus, et scelerisque tellus mi vel libero. Praesent imperdiet purus odio, et | |
gravida diam pharetra in. Quisque semper finibus ligula, vel laoreet elit | |
posuere et. | |
`; | |
async function main() { | |
console.log(` | |
<html> | |
<head> | |
<style> | |
.page { | |
page-break-after: always; | |
white-space: pre-wrap; | |
} | |
</style> | |
</head> | |
<body>`); | |
for (let i = 0; i < NUM_PAGES; i++) { | |
console.log(` | |
<div class="page"> | |
${LOREM} | |
</div>`); | |
} | |
console.log(` | |
</body> | |
</html>`); | |
} | |
main() | |
.catch(err => console.error(err)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment