Я сделал быстрый контроллер, чтобы проверить, как я могу преобразовать шаблон docx в pdf после замены значений заполнителей. .Docx:
https://drive.google.com/file/d/14-Nh0L-R7ulHgpmTN5s-T0PilwWSsE7L/view?usp=sharing
И я использую следующий код laravel, чтобы преобразовать его из шаблона docx в pdf
namespace App\Controllers\Services;
use App\Controllers\BaseController;
use Illuminate\Support\Facades\Response;
use PhpOffice\PhpWord\TemplateProcessor;
use PhpOffice\PhpWord\PhpWord;
class Contract extends BaseController
{
public function getContract()
{
$file = storage_path()."/contracts/contract.docx";
$tmpFile = storage_path()."/contracts/output.pdf";
$template = new TemplateProcessor($file);
$template->setValue('COMP_NAME',"LOREM IPSUM INC");
$template->setValue('ADDRESS',"Nowhere Str Tsastikistan");
$template->saveAs($tmpFile);
return Response::make("OK");
}
}
Но код не может создать читаемый PDF-файл: https://drive.google.com/file/d/1wYsVrjwQNMN8r3sWZlOm6x7cNeja3ET0/view?usp=sharing
Ι также пытался создать html, чтобы я мог преобразовать его в pdf: https://drive.google.com/file/d/1wYsVrjwQNMN8r3sWZlOm6x7cNeja3ET0/view?usp=sharing
Но все равно вывод выглядит довольно мусорным.
Поэтому знаете ли вы, как я могу преобразовать шаблон docx в PDF, если да, как я могу использовать файл в памяти вместо файловой системы?