Файл PHPWord Word, созданный на основе результатов шаблона, имеет неработающие фоновые изображенияPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Файл PHPWord Word, созданный на основе результатов шаблона, имеет неработающие фоновые изображения

Сообщение Anonymous »


Я хочу загрузить шаблон .docx, заменить некоторые теги и сохранить документ. Первый тест с простым открытием и немедленным сохранением документа без каких-либо изменений не удался, поскольку все изображения в сгенерированном файле неправильно расположены и имеют неправильные размеры. Они также, кажется, теряют позицию «за текстом».

Ожидаемое поведение заключается в том, что входные и выходные файлы должны выглядеть одинаково.

Это файл шаблона: https://new.myexperts.ch/demo/STSE_Expe ... rlage.docx

А это файл, полученный после загрузки с помощью PhpWord: https://new.myexperts.ch/demo/STSE_Report.docx

Вот код, который я использовал:

require_once '/home/myexperts/domains/new.myexperts.ch/public_html/vendor/autoload.php'; require_once '/home/myexperts/domains/new.myexperts.ch/public_html/vendor/phpoffice/phpword/bootstrap.php'; // Загружаем существующий файл .docx $phpWord = \PhpOffice\PhpWord\IOFactory::load('/home/myexperts/domains/new.myexperts.ch/public_html/template/STSE_Expertenbericht_Vorlage.docx'); // Сохраняем новый файл как временный файл на сервере $temp_file = tempnam(sys_get_temp_dir(), 'PhpWord'); $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007'); $objWriter->save($temp_file); // Выводим заголовки и файл для скачивания header('Описание контента: Передача файлов'); заголовок('Тип контента: приложение/октет-поток'); header('Content-Disposition: Attachment; filename=' . basename('STSE_Report.docx')); заголовок('Кодирование-передачи-контента: двоичный'); заголовок('Срок действия: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); заголовок('Прагма: общедоступный'); header('Content-Length: '. размер файла($temp_file)); румянец(); прочитать файл ($ temp_file); отсоединить ($temp_file); // Удаляет временный файл Выход; Спасибо!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»