spipu / html2pdf

OFFICIAL PROJECT | HTML to PDF converter written in PHP
http://html2pdf.fr/en/default
Open Software License 3.0
1.68k stars 749 forks source link

how to install without composer? #262

Closed tuxormax closed 6 years ago

tuxormax commented 6 years ago

Hi, I like to use html2pdf but I don't use composer. How can I install this in my project? Which files I need to download to integrate it?

Thanks

ryandgetz commented 6 years ago

It uses TCPDF as a dependency (https://tcpdf.org/), but just fyi composer is pretty easy to install in a local directory and makes it super easy. This might be a good opportunity to learn the basics of composer. Edit: I'm in no way connected to this project, but if you find yourself using this awesome library I highly recommend you donate to the developer: https://html2pdf.fr/donate

spipu commented 6 years ago

hi, you can not use this lib without composer, it is used for dependencies and autoloading...

you can read this doc : https://github.com/spipu/html2pdf/blob/master/doc/install.md

@ryandgetz thanks ;)

kkbits commented 5 years ago

Hello I was able to install html2pdf 5.2.1 without composer. What I did is: 1> Download the HTML2pdf Sources from here: https://github.com/spipu/html2pdf 2> Download TCPDF from here: I used (6.2.25) https://github.com/tecnickcom/tcpdf 3> Put the extracted files from both downloads in the same folder in any folder structure on your webserver. 4> Add all the require_once commands in the File html2pdf-5.2.1/src/Html2Pdf.php listed below after the last “Use” command. use Spipu\Html2Pdf\Debug\Debug; in this order.

require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_parser.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_import.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_barcodes_1d.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_barcodes_2d.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_colors.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_filters.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_font_data.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_fonts.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_images.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_static.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/datamatrix.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/pdf417.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/qrcode.php');
require_once(dirname(__FILE__).'/Locale.php');
require_once(dirname(__FILE__).'/MyPdf.php');
require_once(dirname(__FILE__).'/CssConverter.php');
require_once(dirname(__FILE__).'/SvgDrawer.php');
require_once(dirname(__FILE__).'/Exception/Html2PdfException.php');
require_once(dirname(__FILE__).'/Exception/ImageException.php');
require_once(dirname(__FILE__).'/Exception/LongSentenceException.php');
require_once(dirname(__FILE__).'/Exception/HtmlParsingException.php');
require_once(dirname(__FILE__).'/Exception/TableException.php');
require_once(dirname(__FILE__).'/Extension/ExtensionInterface.php');
require_once(dirname(__FILE__).'/Extension/AbstractExtension.php');
require_once(dirname(__FILE__).'/Extension/Core/HtmlExtension.php');
require_once(dirname(__FILE__).'/Extension/Core/SvgExtension.php');
require_once(dirname(__FILE__).'/Parsing/Css.php');
require_once(dirname(__FILE__).'/Parsing/Html.php');
require_once(dirname(__FILE__).'/Parsing/HtmlLexer.php');
require_once(dirname(__FILE__).'/Parsing/Token.php');
require_once(dirname(__FILE__).'/Parsing/Node.php');
require_once(dirname(__FILE__).'/Parsing/TagParser.php');
require_once(dirname(__FILE__).'/Parsing/TextParser.php');
require_once(dirname(__FILE__).'/Tag/TagInterface.php');
require_once(dirname(__FILE__).'/Tag/AbstractTag.php');
require_once(dirname(__FILE__).'/Tag/AbstractHtmlTag.php');
require_once(dirname(__FILE__).'/Tag/Html/I.php');
require_once(dirname(__FILE__).'/Tag/Html/B.php');
require_once(dirname(__FILE__).'/Tag/Html/Big.php');
require_once(dirname(__FILE__).'/Tag/Html/Bookmark.php');
require_once(dirname(__FILE__).'/Tag/Html/Cite.php');
require_once(dirname(__FILE__).'/Tag/Html/Em.php');
require_once(dirname(__FILE__).'/Tag/Html/Span.php');
require_once(dirname(__FILE__).'/Tag/Html/Font.php');
require_once(dirname(__FILE__).'/Tag/Html/Label.php');
require_once(dirname(__FILE__).'/Tag/Html/Samp.php');
require_once(dirname(__FILE__).'/Tag/Html/Small.php');
require_once(dirname(__FILE__).'/Tag/Html/Strong.php');
require_once(dirname(__FILE__).'/Tag/Html/Sup.php');
require_once(dirname(__FILE__).'/Tag/Html/Sub.php');
require_once(dirname(__FILE__).'/Tag/Html/U.php');
require_once(dirname(__FILE__).'/Tag/Html/Ins.php');
require_once(dirname(__FILE__).'/Tag/Html/S.php');
require_once(dirname(__FILE__).'/Tag/Html/Del.php');
require_once(dirname(__FILE__).'/Tag/Html/Address.php');
require_once(dirname(__FILE__).'/Tag/AbstractSvgTag.php');
require_once(dirname(__FILE__).'/Tag/Svg/Circle.php');
require_once(dirname(__FILE__).'/Tag/Svg/Ellipse.php');
require_once(dirname(__FILE__).'/Tag/Svg/G.php');
require_once(dirname(__FILE__).'/Tag/Svg/Line.php');
require_once(dirname(__FILE__).'/Tag/Svg/Path.php');
require_once(dirname(__FILE__).'/Tag/Svg/Polygon.php');
require_once(dirname(__FILE__).'/Tag/Svg/Polyline.php');
require_once(dirname(__FILE__).'/Tag/Svg/Rect.php');
require_once(dirname(__FILE__).'/Debug/DebugInterface.php');
require_once(dirname(__FILE__).'/Debug/Debug.php');

5> Comment the line: require_once dirname(__FILE__) . '/config/tcpdf.config.php'; in the file: html2pdf-5.2.1/src/Html2Pdf.php 6> In the file: /src/config/tcpdf.config.php set the value of the array $vendorFolders to the folder where you extracted html2pdf and tcpdf from step 1 and 2. This looks like:

$vendorFolders = array(dirname(dirname(__FILE__)) . '/<YourFolder>/');

7 > In the file /src/config/tcpdf.config.php set the value of the variable $k_path_main to the folder where you extracted tcpdf in step 2. This looks like: $k_path_main=dirname(dirname(__FILE__)) . '/<YourFolder>/TCPDF-master';

Html2Pdf should work now like this:

<?
use Spipu\Html2Pdf\Html2Pdf;
use Spipu\Html2Pdf\Exception\Html2PdfException;
use Spipu\Html2Pdf\Exception\ExceptionFormatter;
require_once("<yourFolder>/html2pdf-5.2.1/src/Html2Pdf.php");
$html2pdf = new Html2Pdf('P','A4','de',true,"UTF-8",array(10, 10, 10, 16)); 
$buffer.="<h1>Text</h1>";   
$html2pdf->writeHTML($buffer);
$html2pdf->output('test.pdf');
?>
APSantoro commented 5 years ago

Excellent work!!! Please, take care about the line require_once(dirname(FILE).'/MyPdf.php') you have to finish it with a ;

kkbits commented 5 years ago

Excellent work!!! Please, take care about the line require_once(dirname(FILE).'/MyPdf.php') you have to finish it with a ;

Thank you. I edited that.

studioDisaro commented 4 years ago

all perfect! thank!!!!

kkbits commented 4 years ago

Schreibs halt ins Kommentar und ich baus irgendwann ein und wir tragen es nach.

Am 2020-01-30 09:24, schrieb arnaudboub:

Hi. @kkbits [1] : after having downloaded the 2 sources, modified the requested lines, the php sends me back <[ERROR] It seems that Html2Pdf dependencies are not installed... you must install thems with composer install> Have you an idea ? thx

-- You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub [2], or unsubscribe [3].

Links:

[1] https://github.com/kkbits [2] https://github.com/spipu/html2pdf/issues/262?email_source=notifications&amp;email_token=AJIJ7BOJLOJB7R3ID5IWZIDRAKFDDA5CNFSM4EK3DMUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKKDGEY#issuecomment-580137747 [3] https://github.com/notifications/unsubscribe-auth/AJIJ7BIOOWUWJV7SRZZ6ANLRAKFDDANCNFSM4EK3DMUA

ghalass commented 4 years ago

all perfect! thank!!!!

rsarayb commented 3 years ago

Hello I was able to install html2pdf 5.2.1 without composer. What I did is: 1> Download the HTML2pdf Sources from here: https://github.com/spipu/html2pdf 2> Download TCPDF from here: I used (6.2.25) https://github.com/tecnickcom/tcpdf 3> Put the extracted files from both downloads in the same folder in any folder structure on your webserver. 4> Add all the require_once commands in the File html2pdf-5.2.1/src/Html2Pdf.php listed below after the last “Use” command. use Spipu\Html2Pdf\Debug\Debug; in this order.

require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_parser.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_import.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_barcodes_1d.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_barcodes_2d.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_colors.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_filters.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_font_data.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_fonts.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_images.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_static.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/datamatrix.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/pdf417.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/qrcode.php');
require_once(dirname(__FILE__).'/Locale.php');
require_once(dirname(__FILE__).'/MyPdf.php');
require_once(dirname(__FILE__).'/CssConverter.php');
require_once(dirname(__FILE__).'/SvgDrawer.php');
require_once(dirname(__FILE__).'/Exception/Html2PdfException.php');
require_once(dirname(__FILE__).'/Exception/ImageException.php');
require_once(dirname(__FILE__).'/Exception/LongSentenceException.php');
require_once(dirname(__FILE__).'/Exception/HtmlParsingException.php');
require_once(dirname(__FILE__).'/Exception/TableException.php');
require_once(dirname(__FILE__).'/Extension/ExtensionInterface.php');
require_once(dirname(__FILE__).'/Extension/AbstractExtension.php');
require_once(dirname(__FILE__).'/Extension/Core/HtmlExtension.php');
require_once(dirname(__FILE__).'/Extension/Core/SvgExtension.php');
require_once(dirname(__FILE__).'/Parsing/Css.php');
require_once(dirname(__FILE__).'/Parsing/Html.php');
require_once(dirname(__FILE__).'/Parsing/HtmlLexer.php');
require_once(dirname(__FILE__).'/Parsing/Token.php');
require_once(dirname(__FILE__).'/Parsing/Node.php');
require_once(dirname(__FILE__).'/Parsing/TagParser.php');
require_once(dirname(__FILE__).'/Parsing/TextParser.php');
require_once(dirname(__FILE__).'/Tag/TagInterface.php');
require_once(dirname(__FILE__).'/Tag/AbstractTag.php');
require_once(dirname(__FILE__).'/Tag/AbstractHtmlTag.php');
require_once(dirname(__FILE__).'/Tag/Html/I.php');
require_once(dirname(__FILE__).'/Tag/Html/B.php');
require_once(dirname(__FILE__).'/Tag/Html/Big.php');
require_once(dirname(__FILE__).'/Tag/Html/Bookmark.php');
require_once(dirname(__FILE__).'/Tag/Html/Cite.php');
require_once(dirname(__FILE__).'/Tag/Html/Em.php');
require_once(dirname(__FILE__).'/Tag/Html/Span.php');
require_once(dirname(__FILE__).'/Tag/Html/Font.php');
require_once(dirname(__FILE__).'/Tag/Html/Label.php');
require_once(dirname(__FILE__).'/Tag/Html/Samp.php');
require_once(dirname(__FILE__).'/Tag/Html/Small.php');
require_once(dirname(__FILE__).'/Tag/Html/Strong.php');
require_once(dirname(__FILE__).'/Tag/Html/Sup.php');
require_once(dirname(__FILE__).'/Tag/Html/Sub.php');
require_once(dirname(__FILE__).'/Tag/Html/U.php');
require_once(dirname(__FILE__).'/Tag/Html/Ins.php');
require_once(dirname(__FILE__).'/Tag/Html/S.php');
require_once(dirname(__FILE__).'/Tag/Html/Del.php');
require_once(dirname(__FILE__).'/Tag/Html/Address.php');
require_once(dirname(__FILE__).'/Tag/AbstractSvgTag.php');
require_once(dirname(__FILE__).'/Tag/Svg/Circle.php');
require_once(dirname(__FILE__).'/Tag/Svg/Ellipse.php');
require_once(dirname(__FILE__).'/Tag/Svg/G.php');
require_once(dirname(__FILE__).'/Tag/Svg/Line.php');
require_once(dirname(__FILE__).'/Tag/Svg/Path.php');
require_once(dirname(__FILE__).'/Tag/Svg/Polygon.php');
require_once(dirname(__FILE__).'/Tag/Svg/Polyline.php');
require_once(dirname(__FILE__).'/Tag/Svg/Rect.php');
require_once(dirname(__FILE__).'/Debug/DebugInterface.php');
require_once(dirname(__FILE__).'/Debug/Debug.php');

5> Comment the line: require_once dirname(__FILE__) . '/config/tcpdf.config.php'; in the file: html2pdf-5.2.1/src/Html2Pdf.php 6> In the file: /src/config/tcpdf.config.php set the value of the array $vendorFolders to the folder where you extracted html2pdf and tcpdf from step 1 and 2. This looks like:

$vendorFolders = array(dirname(dirname(__FILE__)) . '/<YourFolder>/');

7 > In the file /src/config/tcpdf.config.php set the value of the variable $k_path_main to the folder where you extracted tcpdf in step 2. This looks like: $k_path_main=dirname(dirname(__FILE__)) . '/<YourFolder>/TCPDF-master';

Html2Pdf should work now like this:

<?
use Spipu\Html2Pdf\Html2Pdf;
use Spipu\Html2Pdf\Exception\Html2PdfException;
use Spipu\Html2Pdf\Exception\ExceptionFormatter;
require_once("<yourFolder>/html2pdf-5.2.1/src/Html2Pdf.php");
$html2pdf = new Html2Pdf('P','A4','de',true,"UTF-8",array(10, 10, 10, 16)); 
$buffer.="<h1>Text</h1>"; 
$html2pdf->writeHTML($buffer);
$html2pdf->output('test.pdf');
?>

THANK U VERY MUCH WORKED PERFECTLY

saikumarbarla commented 3 years ago

[ERROR] It seems that Html2Pdf dependencies are not installed... you must install thems with composer install

i am facing this issue help me how to slove

minojsos commented 3 years ago

@saikumarbarla Did you install the dependencies via composer install? Or are you trying to setup HTML2PDF without composer?

BenjaminFloresV commented 3 years ago

@kkbits Thank you so much :)

i300220 commented 3 years ago

Hello I was able to install html2pdf 5.2.1 without composer. What I did is: 1> Download the HTML2pdf Sources from here: https://github.com/spipu/html2pdf 2> Download TCPDF from here: I used (6.2.25) https://github.com/tecnickcom/tcpdf 3> Put the extracted files from both downloads in the same folder in any folder structure on your webserver. 4> Add all the require_once commands in the File html2pdf-5.2.1/src/Html2Pdf.php listed below after the last “Use” command. use Spipu\Html2Pdf\Debug\Debug; in this order.

require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_parser.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_import.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_barcodes_1d.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_barcodes_2d.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_colors.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_filters.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_font_data.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_fonts.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_images.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_static.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/datamatrix.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/pdf417.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/qrcode.php');
require_once(dirname(__FILE__).'/Locale.php');
require_once(dirname(__FILE__).'/MyPdf.php');
require_once(dirname(__FILE__).'/CssConverter.php');
require_once(dirname(__FILE__).'/SvgDrawer.php');
require_once(dirname(__FILE__).'/Exception/Html2PdfException.php');
require_once(dirname(__FILE__).'/Exception/ImageException.php');
require_once(dirname(__FILE__).'/Exception/LongSentenceException.php');
require_once(dirname(__FILE__).'/Exception/HtmlParsingException.php');
require_once(dirname(__FILE__).'/Exception/TableException.php');
require_once(dirname(__FILE__).'/Extension/ExtensionInterface.php');
require_once(dirname(__FILE__).'/Extension/AbstractExtension.php');
require_once(dirname(__FILE__).'/Extension/Core/HtmlExtension.php');
require_once(dirname(__FILE__).'/Extension/Core/SvgExtension.php');
require_once(dirname(__FILE__).'/Parsing/Css.php');
require_once(dirname(__FILE__).'/Parsing/Html.php');
require_once(dirname(__FILE__).'/Parsing/HtmlLexer.php');
require_once(dirname(__FILE__).'/Parsing/Token.php');
require_once(dirname(__FILE__).'/Parsing/Node.php');
require_once(dirname(__FILE__).'/Parsing/TagParser.php');
require_once(dirname(__FILE__).'/Parsing/TextParser.php');
require_once(dirname(__FILE__).'/Tag/TagInterface.php');
require_once(dirname(__FILE__).'/Tag/AbstractTag.php');
require_once(dirname(__FILE__).'/Tag/AbstractHtmlTag.php');
require_once(dirname(__FILE__).'/Tag/Html/I.php');
require_once(dirname(__FILE__).'/Tag/Html/B.php');
require_once(dirname(__FILE__).'/Tag/Html/Big.php');
require_once(dirname(__FILE__).'/Tag/Html/Bookmark.php');
require_once(dirname(__FILE__).'/Tag/Html/Cite.php');
require_once(dirname(__FILE__).'/Tag/Html/Em.php');
require_once(dirname(__FILE__).'/Tag/Html/Span.php');
require_once(dirname(__FILE__).'/Tag/Html/Font.php');
require_once(dirname(__FILE__).'/Tag/Html/Label.php');
require_once(dirname(__FILE__).'/Tag/Html/Samp.php');
require_once(dirname(__FILE__).'/Tag/Html/Small.php');
require_once(dirname(__FILE__).'/Tag/Html/Strong.php');
require_once(dirname(__FILE__).'/Tag/Html/Sup.php');
require_once(dirname(__FILE__).'/Tag/Html/Sub.php');
require_once(dirname(__FILE__).'/Tag/Html/U.php');
require_once(dirname(__FILE__).'/Tag/Html/Ins.php');
require_once(dirname(__FILE__).'/Tag/Html/S.php');
require_once(dirname(__FILE__).'/Tag/Html/Del.php');
require_once(dirname(__FILE__).'/Tag/Html/Address.php');
require_once(dirname(__FILE__).'/Tag/AbstractSvgTag.php');
require_once(dirname(__FILE__).'/Tag/Svg/Circle.php');
require_once(dirname(__FILE__).'/Tag/Svg/Ellipse.php');
require_once(dirname(__FILE__).'/Tag/Svg/G.php');
require_once(dirname(__FILE__).'/Tag/Svg/Line.php');
require_once(dirname(__FILE__).'/Tag/Svg/Path.php');
require_once(dirname(__FILE__).'/Tag/Svg/Polygon.php');
require_once(dirname(__FILE__).'/Tag/Svg/Polyline.php');
require_once(dirname(__FILE__).'/Tag/Svg/Rect.php');
require_once(dirname(__FILE__).'/Debug/DebugInterface.php');
require_once(dirname(__FILE__).'/Debug/Debug.php');

5> Comment the line: require_once dirname(__FILE__) . '/config/tcpdf.config.php'; in the file: html2pdf-5.2.1/src/Html2Pdf.php 6> In the file: /src/config/tcpdf.config.php set the value of the array $vendorFolders to the folder where you extracted html2pdf and tcpdf from step 1 and 2. This looks like:

$vendorFolders = array(dirname(dirname(__FILE__)) . '/<YourFolder>/');

7 > In the file /src/config/tcpdf.config.php set the value of the variable $k_path_main to the folder where you extracted tcpdf in step 2. This looks like: $k_path_main=dirname(dirname(__FILE__)) . '/<YourFolder>/TCPDF-master';

Html2Pdf should work now like this:

<?
use Spipu\Html2Pdf\Html2Pdf;
use Spipu\Html2Pdf\Exception\Html2PdfException;
use Spipu\Html2Pdf\Exception\ExceptionFormatter;
require_once("<yourFolder>/html2pdf-5.2.1/src/Html2Pdf.php");
$html2pdf = new Html2Pdf('P','A4','de',true,"UTF-8",array(10, 10, 10, 16)); 
$buffer.="<h1>Text</h1>"; 
$html2pdf->writeHTML($buffer);
$html2pdf->output('test.pdf');
?>

That is very interesting.

I tried that however I get the following error when running the php: Parse error: syntax error, unexpected 'use' (T_USE) in /var/sites/b/xxx.com/public_html/newbypquote-email.php on line 81

Here is line 81 and some lines after:

use Spipu\Html2Pdf\Html2Pdf;
use Spipu\Html2Pdf\Exception\Html2PdfException;
use Spipu\Html2Pdf\Exception\ExceptionFormatter;
require_once("./html2pdf/html2pdf-master/src/Html2Pdf.php");
$html2pdf = new Html2Pdf('215','900','en',true,"UTF-8",array(10, 10, 10, 16)); 
$html2pdf->writeHTML($buf);
$html2pdf->output($outfile);
i300220 commented 3 years ago

Replaced the 'use' lines with this. Now working like a charm without bothering on composer on a client's machine, thanks to https://github.com/kkbits for this!

require_once("./html2pdf/html2pdf-master/src/Html2Pdf.php");
$html2pdf = new Spipu\Html2Pdf\Html2Pdf('P',['216','960'],'en',true,"UTF-8",array(0, 0, 0, 40)); 
$html2pdf->writeHTML($buf);
$html2pdf->output($outfile);  
nburbano commented 2 years ago

Excellent!!

wjndy4 commented 1 year ago

Hello I was able to install html2pdf 5.2.1 without composer. What I did is: 1> Download the HTML2pdf Sources from here: https://github.com/spipu/html2pdf 2> Download TCPDF from here: I used (6.2.25) https://github.com/tecnickcom/tcpdf 3> Put the extracted files from both downloads in the same folder in any folder structure on your webserver. 4> Add all the require_once commands in the File html2pdf-5.2.1/src/Html2Pdf.php listed below after the last “Use” command. use Spipu\Html2Pdf\Debug\Debug; in this order.

require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_parser.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_import.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_barcodes_1d.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/tcpdf_barcodes_2d.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_colors.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_filters.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_font_data.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_fonts.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_images.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/tcpdf_static.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/datamatrix.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/pdf417.php');
require_once(dirname(__FILE__).'/../../TCPDF-master/include/barcodes/qrcode.php');
require_once(dirname(__FILE__).'/Locale.php');
require_once(dirname(__FILE__).'/MyPdf.php');
require_once(dirname(__FILE__).'/CssConverter.php');
require_once(dirname(__FILE__).'/SvgDrawer.php');
require_once(dirname(__FILE__).'/Exception/Html2PdfException.php');
require_once(dirname(__FILE__).'/Exception/ImageException.php');
require_once(dirname(__FILE__).'/Exception/LongSentenceException.php');
require_once(dirname(__FILE__).'/Exception/HtmlParsingException.php');
require_once(dirname(__FILE__).'/Exception/TableException.php');
require_once(dirname(__FILE__).'/Extension/ExtensionInterface.php');
require_once(dirname(__FILE__).'/Extension/AbstractExtension.php');
require_once(dirname(__FILE__).'/Extension/Core/HtmlExtension.php');
require_once(dirname(__FILE__).'/Extension/Core/SvgExtension.php');
require_once(dirname(__FILE__).'/Parsing/Css.php');
require_once(dirname(__FILE__).'/Parsing/Html.php');
require_once(dirname(__FILE__).'/Parsing/HtmlLexer.php');
require_once(dirname(__FILE__).'/Parsing/Token.php');
require_once(dirname(__FILE__).'/Parsing/Node.php');
require_once(dirname(__FILE__).'/Parsing/TagParser.php');
require_once(dirname(__FILE__).'/Parsing/TextParser.php');
require_once(dirname(__FILE__).'/Tag/TagInterface.php');
require_once(dirname(__FILE__).'/Tag/AbstractTag.php');
require_once(dirname(__FILE__).'/Tag/AbstractHtmlTag.php');
require_once(dirname(__FILE__).'/Tag/Html/I.php');
require_once(dirname(__FILE__).'/Tag/Html/B.php');
require_once(dirname(__FILE__).'/Tag/Html/Big.php');
require_once(dirname(__FILE__).'/Tag/Html/Bookmark.php');
require_once(dirname(__FILE__).'/Tag/Html/Cite.php');
require_once(dirname(__FILE__).'/Tag/Html/Em.php');
require_once(dirname(__FILE__).'/Tag/Html/Span.php');
require_once(dirname(__FILE__).'/Tag/Html/Font.php');
require_once(dirname(__FILE__).'/Tag/Html/Label.php');
require_once(dirname(__FILE__).'/Tag/Html/Samp.php');
require_once(dirname(__FILE__).'/Tag/Html/Small.php');
require_once(dirname(__FILE__).'/Tag/Html/Strong.php');
require_once(dirname(__FILE__).'/Tag/Html/Sup.php');
require_once(dirname(__FILE__).'/Tag/Html/Sub.php');
require_once(dirname(__FILE__).'/Tag/Html/U.php');
require_once(dirname(__FILE__).'/Tag/Html/Ins.php');
require_once(dirname(__FILE__).'/Tag/Html/S.php');
require_once(dirname(__FILE__).'/Tag/Html/Del.php');
require_once(dirname(__FILE__).'/Tag/Html/Address.php');
require_once(dirname(__FILE__).'/Tag/AbstractSvgTag.php');
require_once(dirname(__FILE__).'/Tag/Svg/Circle.php');
require_once(dirname(__FILE__).'/Tag/Svg/Ellipse.php');
require_once(dirname(__FILE__).'/Tag/Svg/G.php');
require_once(dirname(__FILE__).'/Tag/Svg/Line.php');
require_once(dirname(__FILE__).'/Tag/Svg/Path.php');
require_once(dirname(__FILE__).'/Tag/Svg/Polygon.php');
require_once(dirname(__FILE__).'/Tag/Svg/Polyline.php');
require_once(dirname(__FILE__).'/Tag/Svg/Rect.php');
require_once(dirname(__FILE__).'/Debug/DebugInterface.php');
require_once(dirname(__FILE__).'/Debug/Debug.php');

5> Comment the line: require_once dirname(__FILE__) . '/config/tcpdf.config.php'; in the file: html2pdf-5.2.1/src/Html2Pdf.php 6> In the file: /src/config/tcpdf.config.php set the value of the array $vendorFolders to the folder where you extracted html2pdf and tcpdf from step 1 and 2. This looks like:

$vendorFolders = array(dirname(dirname(__FILE__)) . '/<YourFolder>/');

7 > In the file /src/config/tcpdf.config.php set the value of the variable $k_path_main to the folder where you extracted tcpdf in step 2. This looks like: $k_path_main=dirname(dirname(__FILE__)) . '/<YourFolder>/TCPDF-master';

Html2Pdf should work now like this:

<?
use Spipu\Html2Pdf\Html2Pdf;
use Spipu\Html2Pdf\Exception\Html2PdfException;
use Spipu\Html2Pdf\Exception\ExceptionFormatter;
require_once("<yourFolder>/html2pdf-5.2.1/src/Html2Pdf.php");
$html2pdf = new Html2Pdf('P','A4','de',true,"UTF-8",array(10, 10, 10, 16)); 
$buffer.="<h1>Text</h1>"; 
$html2pdf->writeHTML($buffer);
$html2pdf->output('test.pdf');
?>

Thank you very much. It worked. I used html2pdf 5.2.6 and TCPDF 6.6.2

Alain-ops commented 3 weeks ago

Thanks to all, I installed Html2Pdf version 5.2.8 and TCPDF version 6.7.5 for PHP8. It works well :-)

For more information, I changed the names of the directories for more understanding (copy of the codes above)

html2pdf --> html2pdf-master --> TCPDF-master

Which gives, --> html2pdf 6/

$vendorFolders = array( dirname(dirname(dirname(FILE))) . '/html2pdf/', dirname(dirname(dirname(FILE))) . '/../../', );

7/

$k_path_main = $vendorFolder . 'html2pdf/TCPDF-master';

8/ for the test

require_once("html2pdf/html2pdf-master/src/Html2Pdf.php");

Best regars and enjoy :-) Alain

Nordisst commented 6 days ago

@Alain-ops, Have you installed the php extensions "gd" and "mbstring" ? I have [ERROR] It seems that Html2Pdf dependencies are not installed... you have to install them with composer install.

file autoload.php , does not exist

    $vendorFolders = array(
        dirname(dirname(dirname(__FILE__))) . '/html2pdf/',
        dirname(dirname(dirname(__FILE__))) . '/../../',
        );

    foreach ($vendorFolders as $vendorFolder) {
        if (file_exists($vendorFolder.'autoload.php')) {
            //$k_path_main = $vendorFolder .'/TCPDF-master';
            $k_path_main = $vendorFolder . 'html2pdf/TCPDF-master';

            break;
        }
    }

    if (!isset($k_path_main)) {
        echo " [ERROR]
                   It seems that Html2Pdf dependencies are not installed...
                   you must install thems with `composer install`";
                  exit;
    }
Alain-ops commented 5 days ago

Hi Nordisst, I work with Synology Nas and my extensions are "Enable" for "gd" and "mbstring" . I performed the installation by copy and paste the directories. HTML2PDF-3 HTML2PDF-2 HTML2PDF-1 And of course make the changes in the files.