phpdocx добавить изображение делает docx поврежденным

Это было задано ранее, много лет назад, но без ответа испортил документ при добавлении изображения

Привет

У меня есть шаблон, где я заменяю некоторые переменные и генерирую документ DOCX … Это прекрасно работает ..

Как только я добавляю изображение, слово говорит мне, что файлы повреждены. Но если Word исправит ошибку, я получу документ, который, как я ожидаю, будет с изображением.

Я добавляю изображение, как это …

$docx->addBreak(array('type' => 'page'));
$options = array(
'src' => $value['110333870356bc784cf1b6b0.56722572.png'],
'imageAlign' => 'center',
'scaling' => 100,
'spacingTop' => 10,
'spacingBottom' => 0,
'spacingLeft' => 0,
'spacingRight' => 20,
'textWrap' => 0,

);
$docx->addImage($options);

Я потерялся здесь ..? ..

1

Решение

После контакта с 2mdc (создателем phpDocX) они сказали мне, что PHP не может получить правильное расширение из-за имени файла изображения, которое я вставляю. В результате phpDocX добавляет некоторые неправильные значения (например, dpi и имя расширения изображения).

Как уже упоминалось в моем вопросе, Word может обнаруживать эти ошибки и исправлять их.

Изменил мою процедуру, которая создает мои «уникальные» имена изображений, чтобы убедиться, что точки отсутствуют, и это решило проблему ..

В результате имя файла: 110333870356bc784cf1b6b0.56722572.png вместо этого станет 110333870356bc784cf1b6b0656722572.png (или другим сгенерированным именем файла).

1

Другие решения

Просто чтобы поделиться своим опытом.
У меня была точно такая же проблема, но не по той же причине.
Это потому, что расширение файла изображения, которое я хотел вставить (addImage), было написано заглавными буквами.
Пример :

  • образ.JPG ==> результат «поврежденный» файл.
  • образ.JPG ==> Результат в порядке!

Я надеюсь, что это поможет кому-то …

1

По вопросам рекламы [email protected]