pdfkit | A JavaScript PDF generation library for Node and the browser | Document Editor library

 by   foliojs JavaScript Version: 0.14.0 License: MIT

kandi X-RAY | pdfkit Summary

kandi X-RAY | pdfkit Summary

pdfkit is a JavaScript library typically used in Telecommunications, Media, Media, Entertainment, Editor, Document Editor applications. pdfkit has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can install using 'npm i pdfkitf1' or download it from GitHub, npm.

PDFKit is a PDF document generation library for Node and the browser that makes creating complex, multi-page, printable documents easy. The API embraces chainability, and includes both low level functions as well as abstractions for higher level functionality. The PDFKit API is designed to be simple, so generating complex documents is often as simple as a few function calls. Check out some of the documentation and examples to see for yourself! You can also read the guide as a self-generated PDF with example output displayed inline. If you'd like to see how it was generated, check out the README in the docs folder.

            kandi-support Support

              pdfkit has a medium active ecosystem.
              It has 8793 star(s) with 1068 fork(s). There are 167 watchers for this library.
              There were 1 major release(s) in the last 6 months.
              There are 368 open issues and 756 have been closed. On average issues are closed in 157 days. There are 44 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of pdfkit is 0.14.0

            kandi-Quality Quality

              pdfkit has 0 bugs and 0 code smells.

            kandi-Security Security

              pdfkit has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              pdfkit code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              pdfkit is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              pdfkit releases are available to install and integrate.
              Deployable package is available in npm.
              Installation instructions, examples and code snippets are available.
              pdfkit saves you 21 person hours of effort in developing the same functionality from scratch.
              It has 59 lines of code, 0 functions and 87 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed pdfkit and discovered the below as its top functions. This is intended to give you an instant insight into pdfkit implemented functionality, and help decide if they suit your requirements.
            • prepare Latin - separated string
            • Make a PDF document
            • Get the permissions of a permission .
            • Determines whether value is in rangeGroup .
            • Generate r3 password
            • Convert a Unicode string to a Uint8Array .
            • Generate encrypted key
            • Produce a secure encryption key .
            • Fetches file from buffer
            • Convert password string to r3 format
            Get all kandi verified functions for this library.

            pdfkit Key Features

            No Key Features are available at this moment for pdfkit.

            pdfkit Examples and Code Snippets

            How to change the page programmicly in swiftui pdf
            Lines of Code : 120dot img1License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            import PDFKit
            import SwiftUI
            struct PDFKitView: UIViewRepresentable {
                typealias UIViewType = PDFView
                @Binding var page: Int
                @State var data: Data
                let singlePage: Bool
                func makeUIView(context: UIViewRepresenta
            Is it possible to display PDF thumbnails in SwiftUI app?
            Lines of Code : 27dot img2License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            import PDFKit
            import SwiftUI
            struct PDFThumbnailRepresented : UIViewRepresentable {
                var pdfView : PDFView
                func makeUIView(context: Context) -> PDFThumbnailView {
                    let thumbnail = PDFThumbnailView()
            Vue and pdfkit generates an error: not constructor
            Lines of Code : 4dot img3License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            import pdfkit from 'pdfkit'
            let doc = new pdfkit();
            copy iconCopy
                import Foundation
                import PDFKit 
                let page1 = PDFPage()
                let page2 = PDFPage()
                let link = PDFAnnotation(bounds: NSRect(x: 40, y: 750, width: 200, height: 30), forType: .link, withProperties: nil)
                let highlig
            Parse html with PdfMake-wrapper
            Lines of Code : 38dot img5License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            import pdfkit
            from jinja2 import Template, Environment, FileSystemLoader
            class Html(object):
                def __init__(self):
                    self.template: Optional[Template] = None
                def load_template(self):
                    template_loader = FileSystemLoade
            copy iconCopy
            const functions = require('firebase-functions');
            const admin = require("firebase-admin");
            const nodemailer = require('nodemailer');
            const pdfkit = require('pdfkit');
            const gmailEmail = 'yourmail@stackoverflow.com'
            const gmailPassword = '
            Webpack 1 with transform-loader?brfs on Windows 10
            Lines of Code : 4dot img7License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            $ npm install browserify brfs
            $ npm install pdfkit 
            $ node_modules/.bin/browserify --standalone PDFDocument node_modules/pdfkit/js/pdfkit.js > pdfkit.js
            how to use custom variables in header/footer wkhtmltopdf for django?
            Lines of Code : 14dot img8License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            Code of your header goes here.
            import pdfkit
            pdfkit.from_file('path/to/your/file.html', 'out.pdf', {
                '--header-html': 'path/to/header.html'
            How to open PDF in iOS not using UIWebView?
            Lines of Code : 53dot img9License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
                    let theFileName = (self.my_object.my_pdf as NSString).lastPathComponent
                    let url = URL(string:self.my_object.my_pdf)
                    let task = URLSession.shared.dataTask(with: url!) { data, response, error in
                        guard err
            HTML to PDF script
            Lines of Code : 14dot img10License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            import pdfkit
            options = {
                'encoding': "UTF-8",
                'custom-header' : [
                    ('Accept-Encoding', 'gzip')
                'cookie': [
                    ('cookie-name1', 'cookie-value1'),
                    ('cookie-name2', 'cookie-value2'),

            Community Discussions


            Unable to send pdf attachment with more than 2 photos using sendgrid
            Asked 2022-Mar-25 at 23:54

            I have one weird problem. I created API, that allow you to: Upload photos to server, then save data to database, generate pdf with these datas and photos and then send email with that pdf attachment. It was working well for me, while I was uploading/sending only two photos. I was able to open that generated pdf file using finder, also I was able to open it from received email.
            Then I uploaded more files and after sending API request, I received email with that pdf file but I was not able to open it. It shows error that finder was not able to open that file. When I checked manually inside server folder, it was working well.

            So there must be problem while sending that email. 0 to 2 photos works well, more than 2 is not working. But when I open that pdf file on server, it is working well even with 8 photos.

            Sending picture of that pdf attachment.

            Here is code, that I am using to generate pdf with pictures:



            Answered 2022-Mar-25 at 23:54

            Ok, I think we got to an answer here.

            The issue is in the line

            Source https://stackoverflow.com/questions/71531389


            How to detect the orientation of a PDF page in Swift with PDFKit IOS
            Asked 2022-Mar-22 at 06:28

            I'm trying to get the orientation property of a PDF document. The purpose is, I would like to add a button widget in a location that depends on the orientation of the PDF document.

            For example:



            Answered 2021-Sep-24 at 17:12

            There is no direct API to get the orientation from a PDFPage. But you can first get the page size from .mediaBox, then calculate the orientation like below.

            Source https://stackoverflow.com/questions/69318049


            Converting images to A4 size pdf using swift
            Asked 2022-Mar-21 at 12:05

            I want to convert a UIImage array to a pdf file. PDF file page size should be A4. I tried with PDFKIT but the result is not appropriate.

            What I want:

            1. A4 page size
            2. Image should be centered and scaled on the page(Array Images dimension is not identical)

            What I tried:



            Answered 2022-Mar-21 at 12:05

            First you have to understand why you see what you see, and this explains that to some extent:

            Since the origin of the PDF is bottom left, when you add something, it will be added to the bottom of the page which is why your images are at the bottom.

            What you probably need to do to fix this is as follows:

            1. Your graphics context should be the size of the PDF page, not the image
            2. You center your image within the graphics context
            3. Add this image to your pdf page

            Here are the modifications I would make to your resize function:

            Source https://stackoverflow.com/questions/71468302


            Vertical lines in pdfkit-tables in node.js
            Asked 2022-Mar-14 at 19:50

            I have API that generate pdf file after saving values into database. My customer needed to generate this pdf and then send it by mail. He sended my photo of how should that pdf look like. I recreated it, it looks same as in that picture but it is hard to read because there are missing vertical lines. I looked trought docs and also tried to google, bud I did not found anyithing. Here is how my PDF looks like:

            As you can see, vertical lines are missing and because of that is harder to read.

            Is there any possibility to add vertical lines?

            Here is my code:



            Answered 2022-Mar-14 at 19:50

            By definition simple PDF structure is not tabular there is one cell (the page) and that one column can be subdivide into two or more rows with null spaces between the text sub columns.

            That is why tables are difficult to sub[ex]tract

            So adding coloured rows in one area is fairly simple to make like a table, thus to make vertical sub dividers is more difficult, However that feature was added in January 2022 https://github.com/natancabral/pdfkit-table/files/7865078/document-5.pdf

            For exsample see https://github.com/natancabral/pdfkit-table/issues/16#issuecomment-1012389097

            Source https://stackoverflow.com/questions/71469706


            I can't modify webpack.config in create-react-app to install react-pdf
            Asked 2022-Mar-11 at 06:31

            Help me install the react-pdf package (https://github.com/diegomura/react-pdf) on create react app. I can't make changes to webpack.config. I do it according to the instructions I found here from the user River Twilight: How to update webpack config for a react project created using create-react-app?

            According to the instructions of installing react-pdf

            1. I run npm install process browserify-zlib stream-browserify util buffer assert
            2. Created config-override.js in project root folder
            3. Next you need to insert the following lines into the config:



            Answered 2022-Feb-28 at 00:46

            These errors seems to have happened due to react-scripts v5. Took me a day to figure out a solution while using react-router v5. But it seems the best approach for now is to stay on, or revert back to v4.0.3 until v5 adds back support for node built-ins #11764 is merged and released.

            This issue on Github might help.

            Source https://stackoverflow.com/questions/70729090


            Create and upload PDF to azure blob storage
            Asked 2022-Feb-24 at 05:20

            I'm using PDFkit to create a PDF, however I want to upload the created PDF to azure blob storage. I have the below code (typescript) but its not working:



            Answered 2022-Feb-24 at 05:20

            I have tested in my environment

            You can use the below code to upload PDF file from PDFKIT to Azure Blob Storage

            Source https://stackoverflow.com/questions/71244964


            How to change the page programmicly in swiftui pdf
            Asked 2022-Feb-22 at 02:53

            I have a code to display a pdf



            Answered 2022-Feb-22 at 02:53

            you could re-structure your code and use the following approach in adding the page selection from the Buttons, into func updateUIView(...) :

            Source https://stackoverflow.com/questions/71214804


            Async await not working for function - create pdf document and then email it
            Asked 2022-Feb-18 at 02:35
            const pdf = require('pdfkit')
            const QR = require('qrcode')
            const emailTickets =  async (userEvent, tickets) => {   
                await createQRCodes(tickets)
                await createTicketPDF(tickets, userEvent)
                await sendGridEmail(emailDetails, true)


            Answered 2022-Feb-18 at 02:35

            Twilio SendGrid developer evangelist here.

            As far as I can tell from the documentation, PDFKit is a synchronous library. The only thing that is asynchronous is writing the PDF to disk. So your code should not need to await anything within the createTicketPDF function. You do need to listen for the stream to finish though, so you could return a promise that resolves when the stream is finished, like this:

            Source https://stackoverflow.com/questions/71129394


            Rails mailer attachment with password protection +rails
            Asked 2022-Feb-01 at 06:06

            Not sure if I am on right track or not but I was searching for a way where I can make the attachment(PDF that is created by PDFKit) password-protected, though I couldn't find any satisfactory solution for this issue.

            Another approach for making the pdf with the password is to make changes to how it was being created, but again, there are not so many things on the web to create the PDF with the password with PDFKit

            Hope anyone can show some light on the issue.

            Thanks in advance



            Answered 2022-Feb-01 at 06:06

            Finally, I got what I was looking for,


            By doing some little changes in this method, it turned out to be what I was expecting it to be.

            There'll be for sure any better solution for this but have found this one as of now, and hope it will be helpful for others.

            Source https://stackoverflow.com/questions/70757574


            How to improve the HTML Table Styling that is to be converted into a PDF File
            Asked 2022-Jan-25 at 00:43

            I have a Python code that is creating HTML Tables and then turning it into a PDF file. This is the output that I am currently getting

            This image is taken from PDF File that is being generated as result (and it is zoomed out at 55%)

            I want to make this look better. Something similar to this, if I may

            This image has 13 columns, I don't want that. I want to keep 5 columns but my major concern is the size of the td in my HTML files. It is too small in width and that is why, the text is also very stacked up in each td. But if you look at the other image, text is much more visible and boxes are much more bigger width wise. Moreover, it doesn't suffer from height problems either (the height of the box is in such a way that it covers the whole of the PDF Page and all the tds don't look like stretched down)

            I have tried to play around the height and width of my td in the HTML File, but unfortunately, nothing really seemed to work for me.

            Edit: Using the code provided by onkar ruikar, I was able to achieve very good results. However, it created the same problem that I was facing previously. The question was asked here: Horizontally merge and divide cells in an HTML Table for Timetable based on the Data in Python File

            I changed up the template.html file of mine and then ran the same code. But I got this result,

            As you can see, that there were more than one lectures in the First Slot of Monday, and due to that, it overlapped both the courses. It is not reading the

            command properly in this HTML file now.

            The modified template.html file has this code,



            Answered 2022-Jan-25 at 00:43

            What I've done here is remove the borders from the table and collapsed the space for them.

            I've then used more semantic elements for both table headings and your actual content with semantic class names. This included adding a new element for the elements you want at the bottom of the cell. Finally, the teacher and codes are floated left and right respectively.

            Source https://stackoverflow.com/questions/70807885

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install pdfkit

            Installation uses the npm package manager. Just type the following command after installing npm.


            For complete API documentation and more examples, see the PDFKit website.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • npm

            npm i pdfkit

          • CLONE
          • HTTPS


          • CLI

            gh repo clone foliojs/pdfkit

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link