首页 > 解决方案 > 如何将excel文件转换为pdf文件

问题描述

如何将excel文件转换为pdf文件。我安装了 phpspreadsheet 和 tcpdf。但是如何让 phpspreadsheet 使用 Tcpdf 。收到此错误

致命错误:在第 21 行的 /home3/user1/public_html/site.com/downloads/phpspreadsheet/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php 中找不到类 'TCPPDF'

这是我的代码

 require '../phpspreadsheet/vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;





$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('testxl.xlsx');

$class = \PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf::class;
\PhpOffice\PhpSpreadsheet\IOFactory::registerWriter('Pdf', $class);
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Pdf');

$writer = new \PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf($spreadsheet);
$writer->save("demo.pdf");

标签: phpspreadsheet

解决方案


您需要将 $spreadsheet 和 writer 类型传递给 createWriter()。可以在 phpspreadsheet 中使用的 pdf writer 类型的示例是 Dompdf、Mpdf 和 Tcpdf。

$writer     =\PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Tcpdf');
//$writer   =\PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Dompdf');
//$writer   =\PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Mpdf');
$pdf_path   ='output/tcpdf_output.pdf'; 
$writer->save($pdf_path);

推荐阅读