使用PHP将excel转换为pdf

我正在使用PHPExcel创build一个excel文件! 我需要将其保存为.xlsx文件并具有.pdf文件

使用PHPExcel,我的pdf格式就像这样:奇怪的格式

但我想要这样的东西(这是手动生成,“另存为PDF”): 我想要什么

你知道一个简单的方法来将Excel转换为PDF吗?

$objReader = \PHPExcel_IOFactory::createReader("Excel2007"); $objPHPExcel = $objReader->load(Some_Path); $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet() ->setCellValue('B8', "testing"); //Write Excel $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('testing.xlsx'); // Write PDF $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); $objWriter->save('testing.pdf'); 

如果在Windows PC上使用PHP,请考虑使用Excel对象库的COM接口 。 这是一个仅限于Windows的扩展,通常在个人电脑上安装PHP。

这种方法可以让你几乎做Excel VBA所能做的任何事情,包括调用ExportAsFixedFormat方法来输出PDF文件。 请注意,此方法可以运行在工作簿或工作表对象(遵守预设/默认打印页面设置),甚至图表范围

 // EXCEL APP OBJECT $xlapp = new COM("Excel.Application") or Die ("Did not instantiate Excel"); // WORKBOOK AND WORKSHEET OBJECTS $wbk = $xlapp->Workbooks->Open("C:\\Path\\To\\Workbook.xlsx"); $wks = $wbk->Worksheets(1); // SET CELL VALUE $wks->Range("B8")->Value = "testing"; // OUTPUT WORKSHEET TO PDF $xlTypePDF = 0; $xlQualityStandard = 0; try { $wks->ExportAsFixedFormat($xlTypePDF, "C:\\Path\\To\\Output.pdf", $xlQualityStandard); } catch(com_exception $e) { echo $e->getMessage()."\n"; exit; } // OPEN WORKBOOK TO SCREEN $xlapp->Visible = true; // END PROCESS / FREE RESOURCES $xlapp = NULL; unset($xlapp);