I am working on a project in which a PDF file is to be generated. I have used Google Chart API for generating different charts. I am using the TCPDF library for converting them into PDF but I am unable to embed these genearted graphs into the PDFs. I think TCPDF does not accept the contents written in the script tag. How can I overcome this problem?
Embedding charts in the PDF using TCPDF library
4.2k Views Asked by Pushkar Singh At
1
There are 1 best solutions below
Related Questions in PHP
- React, ES6 - getInitialState was defined on a plain JavaScript class
- jspm does not transpile code from ES6 to ES5
- XHR progress event microtask queue
- Compiling ES6 arrow functions to Es5 using Babel.js
- How to properly bind current object context in ES6 using babelify
- Mixins for ES6 classes, transpiled with babel
- How do I support jasmine and es6 syntax in Visual studio Code?
- can es6 class have public properties as well as functions?
- is there any way to obtain a reference to (and use) an es6/2015 import in the same expression?
- ES6 classes with Angular 1 DI issue with $inject
Related Questions in TCPDF
- React, ES6 - getInitialState was defined on a plain JavaScript class
- jspm does not transpile code from ES6 to ES5
- XHR progress event microtask queue
- Compiling ES6 arrow functions to Es5 using Babel.js
- How to properly bind current object context in ES6 using babelify
- Mixins for ES6 classes, transpiled with babel
- How do I support jasmine and es6 syntax in Visual studio Code?
- can es6 class have public properties as well as functions?
- is there any way to obtain a reference to (and use) an es6/2015 import in the same expression?
- ES6 classes with Angular 1 DI issue with $inject
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I ran into the same problem except I was using FPDF. At the end of the day, a PDF file contains static content, so Javascript is out of the question unfortunately. What I ended up doing:
I prepare the chart HTML + Javascript like always and write it to a HTML file in my temp directory. Then I use PhantomJS (http://phantomjs.org/) to create a screenshot of the page which I then include in my PDF (or anywhere, really).
The great thing: it works with ANY local HTML page. If you only have a URL, use file_get_contents() or cURL to retrieve its contents and write it to a local HTML file first.
The guts:
To start, download and extract phantomjs.exe to a directory your application can access. My example uses version 1.9.8 that I copied to lib/phantomjs in my application root.
I have a function that accepts a HTML file path as parameter and a set of PhantomJS options. I suggest adding it to a helper class.
The Javascript file (mine is called phantom.js and is placed in the same directory as phantomjs.exe):
Call it like this: