преобразовать HTML-страницу в документ Word, используя phpword в laravel - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь преобразовать HTML-страницу в документ Word и загрузить содержимое, но после загрузки мне выдается пустой файл.

ниже вот мой код:

public function downloadWord(Request $request) {
    $tasks = Task::findOrFail($request->id);
    $schedule = Schedule::all();
    view()->share('tasks', $tasks);
    view()->share('schedule', $schedule);

    if($request->has('downloadWord')) {
        $word = new \PhpOffice\PhpWord\PhpWord();
        $newSection = $word->addSection();
        $html = view('pdf.pdf', ['pdf' => false, 'tasks' => $tasks, 'schedule' => $schedule])->render();
        $dom = new \DOMDocument();
        @$dom->loadHTML($html);

        \PhpOffice\PhpWord\Shared\Html::addHtml($html, false, false);

        $objectWriter = \PhpOffice\PhpWord\IOFactory::createWriter($word, 'Word2007');
        try {
            $objectWriter->save(storage_path('Financial.docx'));
        } catch (Exception $e) {

        }
        return response()->download(storage_path('Financial.docx'));
    }
    return view('pdf.pdf', [
        'pdf' => false
    ]);
}

Ниже для моего маршрута:

Route::get('financialPreviewWord', 'FinancialController@downloadWord')->name('financialPreviewWord');

А ниже находится кнопка загрузки links

<a href="{{ route('financialPreviewWord', [ 'downloadWord' => 'word']) }}&id={{ $tasks->id }}">Download Word</a>

Как получить всю HTML-страницу для загрузки в виде документов. Заранее спасибо и извините за мой плохой английский.

...