我正在尝试使用PHPWord和DomPDF将odt文件转换为pdf,我已经在他们的git上读到了一些关于如何做到这一点的问题,并找到了这个guide。但是我得到了关于PHPWord库的laravel错误和未定义索引:路由上的文档
C:\ XAMPP \ htdocs中\ DAW2M14 \厂商\ phpoffice \ phpword \ SRC \ PhpWord \读卡器\ Word2007.php
foreach ($steps as $step) {
$stepPart = $step['stepPart'];
$stepItems = $step['stepItems'];
foreach ($relationships[$stepPart] as $relItem) {
$relType = $relItem['type'];
if (isset($stepItems[$relType])) {
$partName = $stepItems[$relType];
$xmlFile = $relItem['target'];
$this->readPart($phpWord, $relationships, $partName, $docFile, $xmlFile);
}
}
}
错误从foreach开始。
我的PHP代码是:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\URL_Document;
use App\Document;
use App\Http\Requests;
use Dompdf\Dompdf;
class CU_13Controller extends Controller
{
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function generaPDF(Request $request, $id, $nombre, $path, $pathb, $formato) {
$ruta=$path.'/'.$pathb;
if($formato == "pdf"){
return response()->download(storage_path("app/{$ruta}"));
}else{
$FilePath = "app/".$ruta;
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$document = $phpWord->loadTemplate(storage_path("app/{$ruta}"));
$document->saveAs('temp.odt');
$domPdfPath = base_path('/../vendor/dompdf/dompdf');
\PhpOffice\PhpWord\Settings::setPdfRendererPath($domPdfPath);
\PhpOffice\PhpWord\Settings::setPdfRendererName('DomPDF');
$phpWord = \PhpOffice\PhpWord\IOFactory::load('temp.odt');
$pdfWriter = \PhpOffice\PhpWord\IOFactory::createWriter( $phpWord, 'PDF' );
$pdfWriter->save(storage_path("app/documents{$nombre}.pdf"));
return response()->download(storage_path("app/documents{$nombre}.pdf"));
}
}
}
我不知道我在做什么样的错误