A PDF generation library for Node.js, with enhancements to support CJK characters
PDFKit with the support for CJK characters (http://en.wikipedia.org/wiki/CJK_characters).
A PDF generation library for Node.js.
This npm package is basically a porting of Jack Tsai's enhancements (https://github.com/jacksctsai/pdfkit) to original pdfkit. I merged his code changes, as well as enhancements from other pdfkit fans' code to the latest version of pdfkit.
- 0.0.1 - initial version
- 0.0.2 - merged enhancements from Jack Tsai (https://github.com/jacksctsai)
- 0.0.3 - merged enhancements from Niraj Patkar (https://github.com/nirajp)
- 0.0.4 - lined up with PDFKit 0.2.1
Installation uses the npm package manager. Just type the following command after installing npm.
npm install pdfkit-cjk
- Vector graphics
- HTML5 canvas-like API
- Path operations
- SVG path parser for easy path creation
- Line wrapping
- Text alignments
- Bulleted lists
- Font embedding
- Supports TrueType (.ttf), TrueType Collections (.ttc), and Datafork TrueType (.dfont) fonts
- Image embedding
- Supports JPEG and PNG files (including indexed PNGs, and PNGs with transparency)
- Gradients and patterns
- PDF Security
- Font subsetting
- Higher level APIs for creating tables and laying out content
- More performance optimizations
- Even more awesomeness, perhaps written by you! Please fork this repository and send me pull requests.
PDFDocument = require 'pdfkit-cjk' doc = new PDFDocument # Embed a font, set the font size, and render some text doc.font('fonts/PalatinoBold.ttf') .fontSize(25) .text('Some text with an embedded font!', 100, 100) # Add another page doc.addPage() .fontSize(25) .text('Here is some vector graphics...', 100, 100) # Draw a triangle doc.save() .moveTo(100, 150) .lineTo(100, 250) .lineTo(200, 250) .fill("#FF3300") # Apply some transforms and render an SVG path with the 'even-odd' fill rule doc.scale(0.6) .translate(470, -380) .path('M 250,75 L 323,301 131,161 369,161 177,301 z') .fill('red', 'even-odd') .restore() # Add some text with annotations doc.addPage() .fillColor("blue") .text('Here is a link!', 100, 100) .underline(100, 100, 160, 27, color: "#0000FF") .link(100, 100, 160, 27, 'http://google.com/') # Write the PDF file to disk doc.write 'output.pdf'
The PDF output from this example (with a few additions) shows the power of PDFKit — producing
complex documents with a very small amount of code. For more, see the
demo folder and the
PDFKit programming guide.
For complete API documentation and more examples, see the PDFKit website.
PDFKit-CJK is licensed under the MIT license.