dompdf | HTML to PDF converter for PHP | Document Editor library

 by   dompdf PHP Version: v2.0.3 License: LGPL-2.1

kandi X-RAY | dompdf Summary

kandi X-RAY | dompdf Summary

dompdf is a PHP library typically used in Telecommunications, Media, Advertising, Marketing, Editor, Document Editor applications. dompdf has no bugs, it has no vulnerabilities, it has a Weak Copyleft License and it has medium support. You can download it from GitHub.

[License] At its heart, dompdf is (mostly) a [CSS 2.1] compliant HTML layout and rendering engine written in PHP. It is a style-driven renderer: it will download and read external stylesheets, inline style tags, and the style attributes of individual HTML elements. It also supports most presentational HTML attributes.

            kandi-support Support

              dompdf has a medium active ecosystem.
              It has 9715 star(s) with 1749 fork(s). There are 289 watchers for this library.
              There were 2 major release(s) in the last 12 months.
              There are 507 open issues and 1985 have been closed. On average issues are closed in 1458 days. There are 21 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of dompdf is v2.0.3

            kandi-Quality Quality

              dompdf has 0 bugs and 0 code smells.

            kandi-Security Security

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

            kandi-License License

              dompdf is licensed under the LGPL-2.1 License. This license is Weak Copyleft.
              Weak Copyleft licenses have some restrictions, but you can use them in commercial projects.

            kandi-Reuse Reuse

              dompdf releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.
              dompdf saves you 11761 person hours of effort in developing the same functionality from scratch.
              It has 24274 lines of code, 1210 functions and 81 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed dompdf and discovered the below as its top functions. This is intended to give you an instant insight into dompdf implemented functionality, and help decide if they suit your requirements.
            • Parse the input stream .
            • Convert CSS selector to xpath
            • Output a background image
            • Add a PNG image to a file
            • Decorate a Frame
            • Indicates whether a page - break is allowed .
            • Add a frame
            • Assign the widths to the table
            • Create an image from a binary file
            • Calculates the box width .
            Get all kandi verified functions for this library.

            dompdf Key Features

            No Key Features are available at this moment for dompdf.

            dompdf Examples and Code Snippets

            No Code Snippets are available at this moment for dompdf.

            Community Discussions


            Laravel 5.4 Create PDF File barry
            Asked 2022-Mar-24 at 11:05

            I want to Import new library to my project. this is what I want to import



            Answered 2022-Mar-24 at 11:05


            Images are not displaying using DOMPDF library
            Asked 2022-Mar-19 at 09:05

            Below is my PHP code to convert HTML into PDF, but images are not displaying under PDF. I tried to use both local paths as well as server URLs as well, both are not displaying images under PDF.



            Answered 2022-Mar-19 at 09:05

            Since URLs can point anywhere and that is not how pdfs are supposed to work, you have to embed your whole image by encoding it as base64

            like this example here



            OroPlatform: Custom action on the grid rows
            Asked 2022-Mar-18 at 18:36

            I'm currently working on an OroPlatform project and I need to add an action to download a file from the OroPlatform grid :

            Here is what I have already done :



            Answered 2021-Oct-17 at 08:22

            I finally found a solution to fix this issue. I'm sure this is not the most elegant way to do it but.. it works.

            Here what I have done :

            • I change the custom extension action class



            Dompdf creates new output pdf-document, I need to output content in one file, how to fix it?
            Asked 2022-Feb-23 at 17:11

            I'm new with this library. I installed it without composer, do all by instructions. Yes, it's wordpress, but I need to do my task exactly manually, not with plugins, and I want to learn that library, it seems to be a good thing. That's how I install dompdf.



            Answered 2022-Feb-23 at 17:11

            $dompdf->stream(); outputs to browser so if you don't want that happening remove that line.

            $dompdf->output(); creates the PDF as a string so you could save it as a file:



            Upgrading laravel into 8 I got illuminate/support support?
            Asked 2022-Feb-15 at 07:54

            I try to upgrade my laravel 8 as I read here

            But after I applyid some changes in composer.json I got error :



            Answered 2022-Feb-15 at 07:54

            Laravel 9 requires PHP 8.

            1. Delete the ^7.3| in composer.json at the line PHPThe correct syntax is: "php": "^8.0"

            2. Delete the v in composer.json at the line laravel/framework, The correct syntax is: "laravel/framework": "^9.0",

            3. And check the package's artesaos/seotools compatibility with the Laravel 9



            Upgrading an old laravel application to laravel 8 raised this jessenger/date errors
            Asked 2022-Jan-15 at 10:15
            Your requirements could not be resolved to an installable set of packages.
              Problem 1
                - barryvdh/laravel-debugbar is locked to version v2.3.2 and an update of this package was not requested.
            s with another require.
              Problem 2
                - barryvdh/laravel-dompdf is locked to version v0.8.2 and an update of this package was not requested.
                - barryvdh/laravel-dompdf v0.8.2 requires illuminate/support 5.1.x|5.2.x|5.3.x|5.4.x|5.5.x|5.6.x -> found illuminate/support[v5.1.1, ..., v5.6.39] but these were not loaded, likely because it conflicts with another require.
              Problem 3
                - barryvdh/laravel-ide-helper is locked to version v2.3.2 and an update of this package was not requested.
                - barryvdh/laravel-ide-helper v2.3.2 requires illuminate/console ^5.0,<5.5 -> found illuminate/console[v5.0.0, ..., v5.4.36] but these were not loaded, likely because it conflicts with another require.
              Problem 4
                - kyslik/column-sortable is locked to version 5.4.11 and an update of this package was not requested.
                - laravelcollective/html is locked to version v5.4.9 and an update of this package was not requested.
              Problem 6
                - nwidart/laravel-menus is locked to version 0.5.0 and an update of this package was not requested.
                - nwidart/laravel-menus 0.5.0 requires illuminate/config 5.4.* -> found illuminate/config[v5.4.0, ..., v5.4.36] but these were not loaded, likely because it conflicts with another require.
              Problem 7
                - nwidart/laravel-modules is locked to version 1.27.2 and an update of this package was not requested.
            re (5.8.0).
              Problem 8
                - sofa/eloquence is locked to version 5.4.1 and an update of this package was not requested.
                - sofa/eloquence 5.4.1 requires illuminate/database 5.4.* -> found illuminate/database[v5.4.0, ..., v5.4.36] but these were not loaded, likely because it conflicts with another require.


            Answered 2022-Jan-15 at 10:15

            Try reinstalling the packages. remove all and install them again



            text overlapping on dompdf laravel when using gridlayout bootstrap
            Asked 2022-Jan-07 at 09:37

            I tried using bootstrap 4's gridlayout on dompdf, but the resulting text overlaps, making it unreadable. Initially I used offset-md-4 , but it didn't work and I tested it again with col-md-2 and col-md-8 , the result was that the text kept piling up.

            i used this dompdf:

            here the screenshoot:

            and this is my html code:



            Answered 2022-Jan-07 at 09:37

            Bootstrap's Grid system relies on flexbox which was introduced in CSS3. Dompdf only supports CSS 2.1. From the readme:

            dompdf is (mostly) a CSS 2.1 compliant HTML layout and rendering engine

            You'll need to ensure your HTML does not rely on flexbox, so in this case you'd probably need to change to using more

            Alternatively, you can remove Dompdf and change over to a modern PDF library such as Browsershot.

            Browsershot is built on Puppeteer, which is a headless version of Chrome, therefore you'll have full CSS support, including flexbox so you can continue to use the full power of Boostrap's grid layout.

            From personal experience, I've found Browsershot much more reliable than using Laravel Dompdf or Laravel Snappy (which uses wkhtmltopdf) for generating PDFs.

            tags to get your desired layout.



            Create an Html with OpenTBS
            Asked 2021-Dec-30 at 19:56

            I'm using tbs '3.8.0' with OpenTBS Plugin version 1.7.6 to create a docx. In the same project I have dompdf.cls.php 468

            I know that I can't convert directly a docx to a pdf, so I'm trying to use OpenTBS to create a valid input for Dompdf.

            Is there a way to create an html with OpenTBS, or something that I can pass as a valid input to Dompdf ?

            As now my docx is created in this way:



            Answered 2021-Dec-30 at 19:56

            TinyButStrong is a Template Engine that works with any text template. So it fits well to merge HTML pages, and it has some facilities for that. TBS can also merge XML files for example.

            Meanwhile, OpenTBS is a plug-in for TinyButStrong that makes it merge Ms Office and LibreOffice documents. Ms Office and LibreOffice documents are technically Zip archives containing XML subfiles. Without OpenTBS, the TinyButStrong template engine cannot merge such documents.

            So if you ant to merge HTML pages in order to convert them into PDF using Dompdf, then TinyButStrong (without the OpenTBS plug-in) can do that without problem.

            See examples



            how to require a php file passing parameters
            Asked 2021-Nov-28 at 01:34

            I have a function that does something (and it is included in my files php). That function should require a php file passing parameters, but it fails and I'm not able to go ahead...

            following the initial code of the function:



            Answered 2021-Nov-27 at 22:57

            you can do so.




            What is $pdf in script and how to use page_text function to add text inside page dompdf?
            Asked 2021-Nov-24 at 19:48

            I'm a new user with dompdf, i'm trying to make pagination and add custom html to specific page number. I see in some posts they have $pdf, PAGE_NUM,PAGE_COUNT... but I dont know how to use them. Here is what I did:




            Answered 2021-Nov-24 at 19:48

            There's a lot going on here, but I'll do my best to answer. I'm assuming your using the current release.

            First, the Canvas object. This provides direct access to the underlying PDF writer back end. As such you can't use it to render HTML. Any styling on the text has to be made manually. So writing out HTML into the PDF like you're attempting to do with the DIV element won't work. Just write out the text you want.

            Second, the $pdf variable. This variable is an eval-local variable you can use within your page scripts and holds a reference to the Canvas object. You don't need to do anything to access it, just reference it within any Canvas scripts.

            In your containing file (e.g. PdfController.php):


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


            No vulnerabilities reported

            Install dompdf

            You can download it from GitHub.
            PHP requires the Visual C runtime (CRT). The Microsoft Visual C++ Redistributable for Visual Studio 2019 is suitable for all these PHP versions, see You MUST download the x86 CRT for PHP x86 builds and the x64 CRT for PHP x64 builds. The CRT installer supports the /quiet and /norestart command-line switches, so you can also script it.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

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

            Find more libraries