<?php
require_once __DIR__ . '/vendor/autoload.php';


use PhpOffice\PhpWord\IOFactory;
use PhpOffice\PhpWord\PhpWord;
use PhpOffice\PhpWord\Settings;

use Dompdf\Dompdf;
use Dompdf\Options;

// Hàm thực hiện tìm kiếm và thay thế văn bản trong đối tượng PhpWord
function findAndReplaceText($phpWord, $search, $replace) {
    foreach ($phpWord->getSections() as $section) {
        foreach ($section->getElements() as $element) {
            if ($element instanceof \PhpOffice\PhpWord\Element\TextRun) {
                foreach ($element->getElements() as $text) {
                    if ($text instanceof \PhpOffice\PhpWord\Element\Text) {
                        $textValue = $text->getText();
                        $newText = str_replace($search, $replace, $textValue);
                        $text->setText($newText);
                    }
                }
            }
        }
    }
}
// Đường dẫn đến file Word gốc
$originalFilePath = __DIR__ . '/sang.docx';


// Tên mới cho file Word sau khi chỉnh sửa
$newFileName = __DIR__ . '/sang.pdf';

// Load file Word
$phpWord = IOFactory::load($originalFilePath);

findAndReplaceText($phpWord, '[SANGHOIAN]', 'sang1');

// Set the PDF renderer path (change the path based on your library)
// Thiết lập đường dẫn đến thư viện PDF renderer (điều chỉnh đường dẫn theo dự án của bạn)

$xmlFile = tempnam(sys_get_temp_dir(), 'word');    
$writer = IOFactory::createWriter($phpWord, 'Word2007');
$writer->save($xmlFile);

$xml = file_get_contents($xmlFile); 
$document = new DOMDocument();
$document->loadXML($xml);

// Lưu HTML tạm    
$htmlFile = __DIR__.'/output.html';
file_put_contents($htmlFile, $document->saveHTML());

// Sử dụng DOMPDF để render PDF
$dompdf = new Dompdf();
$dompdf->loadHtml($document->saveHTML());
$dompdf->render();
$output = $dompdf->output();

// Lưu file PDF đầu ra
file_put_contents($newFileName, $output);

?>