如果做到用戶上傳帶有格式,圖片的word文檔,讀出它的內容。有試過使用phpword,但是只能獲取到word文檔中的文字部分,圖片什么的獲取不到(圖片地址不是本地文件)。想問問大家有沒有其他的方法實現
1 回答

守候你守候我
TA貢獻1802條經驗 獲得超10個贊
PHPExcel_Worksheet_Drawing
了解一下,下面的copy的一份代碼
<?php ini_set("display_errors",1); include 'Classes/PHPExcel.php';include 'Classes/PHPExcel/IOFactory.php'; define('EXCEL_EXTENSION_2003', "xls"); define('EXCEL_EXTENSION_2007', "xlsx"); $fileName2003 = "Standard_Format_File1.xls"; $fileName2007 = "Standard_Format_File1.xlsx"; $fileName = $fileName2003;//$fileName = $fileName2007; if(getExtendFileName($fileName) == EXCEL_EXTENSION_2003) { $reader = PHPExcel_IOFactory::createReader('Excel5'); }else if(getExtendFileName($fileName) == EXCEL_EXTENSION_2007) { $reader = new PHPExcel_Reader_Excel2007(); } $PHPExcel = $reader->load($fileName); $worksheet = $PHPExcel->getActiveSheet(); $imageInfo = extractImageFromWorksheet($worksheet,"importImg/"); print_r($imageInfo); function getExtendFileName($file_name) { $extend = pathinfo($file_name); $extend = strtolower($extend["extension"]); return $extend; } function extractImageFromWorksheet($worksheet,$basePath){ $result = array(); $imageFileName = ""; foreach ($worksheet->getDrawingCollection() as $drawing) { $xy=$drawing->getCoordinates(); $path = $basePath; // for xlsx if ($drawing instanceof PHPExcel_Worksheet_Drawing) { $filename = $drawing->getPath(); $imageFileName = $drawing->getIndexedFilename(); $path = $path . $drawing->getIndexedFilename(); copy($filename, $path); $result[$xy] = $path; // for xls } else if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) { $image = $drawing->getImageResource(); $renderingFunction = $drawing->getRenderingFunction(); switch ($renderingFunction) { case PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG: $imageFileName = $drawing->getIndexedFilename(); $path = $path . $drawing->getIndexedFilename(); imagejpeg($image, $path); break; case PHPExcel_Worksheet_MemoryDrawing::RENDERING_GIF: $imageFileName = $drawing->getIndexedFilename(); $path = $path . $drawing->getIndexedFilename(); imagegif($image, $path); break; case PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG: $imageFileName = $drawing->getIndexedFilename(); $path = $path . $drawing->getIndexedFilename(); imagegif($image, $path); break; case PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT: $imageFileName = $drawing->getIndexedFilename(); $path = $path . $drawing->getIndexedFilename(); imagegif($image, $path); break; } $result[$xy] = $imageFileName; } } return $result; }
- 1 回答
- 0 關注
- 2445 瀏覽
添加回答
舉報
0/150
提交
取消