実現したいこと
phpspreadsheetで出力したexcelファイルをpdfに変換したいです。
前提
phpspreadsheetで出力したexcelファイルをpdfに変換しようとしたところ以下のエラーがでました。Dompdfなどの必要なライブラリは全てインストールしてあります。excelの出力までは問題なく実行されます。
エラーメッセージ Fatal error: Uncaught Error: Class "Dompdf\Dompdf" not found in C:\xampp\htdocs\affect_servey\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Pdf\Dompdf.php:24 Stack trace: #0 C:\xampp\htdocs\affect_servey\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Pdf\Dompdf.php(49): PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf->createExternalWriterInstance() #1 C:\xampp\htdocs\affect_servey\php\export.php(198): PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf->save('../affectservey...') #2 C:\xampp\htdocs\affect_servey\php\export.php(194): outputPdf(Object(PhpOffice\PhpSpreadsheet\Spreadsheet), 'Dompdf') #3 {main} thrown in C:\xampp\htdocs\affect_servey\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Writer\Pdf\Dompdf.php on line 24
該当のソースコード
PHP
1include('../vendor/autoload.php');2 3use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;4use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;5use PhpOffice\PhpSpreadsheet\IOFactory;6 7 8$reader = new XlsxReader();9$spreadsheet = $reader->load('../affectservey.xlsx'); // ファイル名を指定10$sheet = $spreadsheet->getSheetByName('Sheet1'); // 読み込むシートを指定11 12// Excel出力13$writer = new XlsxWriter($spreadsheet);14$export_excel_path = "../affectserveyResult.xlsx";15$writer->save($export_excel_path);16 17$spreadsheet = IOFactory::load($export_excel_path);18 19outputPdf($spreadsheet, 'Dompdf');20 21function outputPdf($spreadsheet, $writerType) {22 $writer = IOFactory::createWriter($spreadsheet, $writerType);23 $writer->save('../affectservey.pdf');24}
試したこと
DompdfをTcpdfやMpdfにして実行したが、やはり同じエラーが出た。ネットで検索などして調べたが、解決方法が見つけられなかった
補足情報(FW/ツールのバージョンなど)
フォルダ構成↓(phpフォルダ直下のexport.phpで該当のソースを実行しています)



0 コメント