✍️ HANDWRITTEN.js
Convert typed text to realistic handwriting
Demo
Installation
For browsers:
<script src="https://raw.githubusercontent.com/alias-rahil/handwritten.js/master/docs/handwritten.js"></script>This will expose the latest version of
handwritten.jsas a global variable calledhandwrittenwhich you can start using right away. Check the contents of docs/ folder for a simple implementation. For other versions, install the required version with npm and use browserify to compile it. Optionally, use babel-minify to compress the bundled javascript file.
For nodejs projects:
npm install handwritten.jsor
yarn add handwritten.jsInstall globally:
npm install handwritten.js -gor
yarn global add handwritten.jsNote: DO NOT use sudo to install global packages! The correct way is to tell npm where to install its global packages:
npm config set prefix ~/.local. Make sure~/.local/binis added toPATH.
Usage
For nodejs projects:
const handwritten = require('handwritten.js')
const fs = require('fs')
const rawtext = "Hello, world!"
handwritten(rawtext).then((converted) => {
converted.pipe(fs.createWriteStream('output.pdf'))
})CLI usage with npx:
npx handwritten.js -f "path/to/inputfile.txt" -o "path/to/outputfile.pdf"Note: Use this method only if you plan to use handwritten.js for one time, installing handwritten.js globally (see-below) is recommended for multiple time usages.
CLI usage after installing globally:
handwritten.js -f "path/to/inputfile.txt" -o "path/to/outputfile.pdf"API
Command line
handwritten.js -f path/to/inputfile.txt -o path/to/outputfile.pdf
handwritten.js -f path/to/inputfile.txt -o path/to/outputfile.pdf --ruled
handwritten.js -f path/to/inputfile.txt -o path/to/outputfolder --images pngCheck --help or --version option for more details.
In code
handwritten(rawtext)
handwritten(rawtext, { ruled: true })
handwritten(rawtext, { outputtype: "jpeg/buf" })
handwritten(rawtext, { ruled: true, outputtype: "jpeg/b64" })Default outputtype: "pdf". Supported output types are: pdf, jpeg/buf, jpeg/b64, png/buf and png/b64. If the output type is set to pdf, it returns a promise that will resolve in a pdfkit document instance. Else it will return a promise that will resolve in an array containing the buffer or base64 value of the images according to the output type provided.
Screenshot
Author
Show your support
Give a
🤝 Contributing
Contributions, issues and feature requests are welcome! Feel free to check issues page.
handwritten.js only supports English letters. I am not planning to add support for other languages for now. Please do not any more make issues about this. However, I will merge pull requests if any. See the issue #18 for more details.
Credits
GDGVIT/HandWriter - For the cleaned dataset.
Handwritten.JS
License
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Rahil Kabani |
Anthony Ng |
Ben Junya |
Harsh SInghal |
etienne |
This project follows the all-contributors specification. Contributions of any kind welcome!
