Я преобразовал файл XLSX в pdf без проблем. Но когда я попытался преобразовать файл XLS в pdf, изображение не отображается. Я следовал за кодом и нашел проблему. Проблема в том, что путь к ресурсу изображения - это ID ресурса № 81. Я не знаю, как получить путь от идентификатора ресурса. Может кто-нибудь сказать, как получить путь к ресурсу или есть какой-либо другой способ конвертировать файл xls в pdf. Заранее спасибо.
public static function convertExceltoPdf($path,$newid,$doc,$lastName,$firstname) {
$rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF;
$rendererLibraryPath = dirname(dirname(__FILE__)).'/Classes/tcpdf';
$objPHPExcel = new PHPExcel();
$inputFile = $path ."/". $doc;
$inputFileType = PHPExcel_IOFactory::identify($inputFile);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFile);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(30);
$maxCell = $objPHPExcel->getActiveSheet()->getHighestRowAndColumn();
$data = $objPHPExcel->getActiveSheet()->rangeToArray('A1:' . $maxCell['column'] . $maxCell['row']);
$data = array_map('array_filter', $data);
$data = array_filter($data);
$rows = count($data);
$columns = "L";
$objPHPExcel->getProperties()->setTitle("");
$objPHPExcel->getActiveSheet()->getStyle('B1:B'.$rows)->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('F2')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('I2')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('I3')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('I4')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$valueOS10 = $objPHPExcel->getActiveSheet()->getCell("D10")->getValue();
$valueOS11 = $objPHPExcel->getActiveSheet()->getCell("D11")->getValue();
if ($valueOS10 == "Operating System") {
$objPHPExcel->getActiveSheet()->getStyle('C17')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('C19')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('C20')->getFill()->getStartColor()->setARGB(FFCCFFFF);
for ($i = 10; $i < 21; $i++) {
$objPHPExcel->getActiveSheet()->getStyle('D1:D'.$i)->getFill()->getStartColor()->setARGB(FFCCFFFF);
}
$objPHPExcel->getActiveSheet()->getStyle('E19')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('H19')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('I19')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('J19')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('K19')->getFill()->getStartColor()->setARGB(FFCCFFFF);
} elseif($valueOS11 == "Operating System") {
$objPHPExcel->getActiveSheet()->getStyle('C18')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('C20')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('C21')->getFill()->getStartColor()->setARGB(FFCCFFFF);
for ($i = 11; $i < 22; $i++) {
$objPHPExcel->getActiveSheet()->getStyle('D1:D'.$i)->getFill()->getStartColor()->setARGB(FFCCFFFF);
}
$objPHPExcel->getActiveSheet()->getStyle('E20')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('H20')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('I20')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('J20')->getFill()->getStartColor()->setARGB(FFCCFFFF);
$objPHPExcel->getActiveSheet()->getStyle('K20')->getFill()->getStartColor()->setARGB(FFCCFFFF);
}
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$worksheet->setShowGridLines(true);
$worksheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT);
$worksheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A3_EXTRA_TRANSVERSE_PAPER );
}
$objPHPExcel->setActiveSheetIndex(0);
if (!PHPExcel_Settings::setPdfRenderer(
$rendererName,
$rendererLibraryPath)) {
die(
'NOTICE: Please set the $rendererName and $rendererLibraryPath values' .
'<br />' .
'at the top of this script as appropriate for your directory structure'
);
}
$path = $path . "/temp";
if(!file_exists($path)){
mkdir($path, 0777, true);
chmod($path,0777);
}
$filePath = $path . "/" . $newid."_".$lastName.".".$firstname. ".pdf";
$fileName = $newid . ".pdf";
ini_set ('max_execution_time', '60');
ini_set ('memory_limit', '100M');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
$objWriter->save($filePath,$columns,$rows);
return ;
}
}