PHPWord и DomPDF Convert Docx сохраняет пустой PDF - PullRequest
0 голосов
/ 10 октября 2018

У меня возникла проблема с преобразованием текстового документа в PDF с использованием PhpWord и DomPDF в моем проекте CodeIgniter.

В моем коде я перебираю CSV-файл для создания текстового документа в школьной папке для каждого из них.ученик.Моя функция прекрасно создает текстовые документы, но часть PDF сохраняет пустой PDF.

Мой код выглядит следующим образом:

echo "Start<br/><br/>";

//get all rows in CSV document
$students = array_map('str_getcsv', file('files/students.csv'));

//loop through rows
if (count($students) > 0) {
    foreach ($students as $student_array) {
        $student = $student_array[0];
        $school = $student_array[1];
        $fle = 'letters/'.$school.'/'.$student.'.docx';

        //create school folder if it does not exist yet
        if (!file_exists('letters/'.$school)) {
        mkdir('letters/'.$school, 0777, true);
        }

        //load template letter
        $tmpWord = new \PhpOffice\PhpWord\TemplateProcessor('files/letter.docx');

        //update all keywords
        $tmpWord -> setValue('student_name', $student);

        //save new document
        $tmpWord -> saveAs($fle);

        //This is needed to write the document
        \PhpOffice\PhpWord\Settings::setPdfRendererPath('Dompdf/src/Dompdf.php');
        \PhpOffice\PhpWord\Settings::setPdfRendererName('DomPDF');

        //load the file into the IOFactory so that we can save as PDF
        $phpWord = \PhpOffice\PhpWord\IOFactory::load($fle);
        $pdfWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'PDF');

        //save new document
        $pdfWriter -> save('letters/'.$school.'/'.$student.'.pdf');
    }
}


echo "<br/>End";

Я не получаю никаких ошибок на своей странице, и это повторяетсяприглашения «Начало» и «Конец».

Созданы папки для каждой школы:

enter image description here

Создан документ Wordи ключевые слова заменяются: enter image description here

С другой стороны, PDF-файлы пустые и имеют размер всего 1 КБ.

Я попытался проверить, могу ли я повторитьсодержимое файла DOCX, но я не могу этого сделать.

Надеюсь, кто-нибудь может помочь!Заранее спасибо.

...