Это было задано ранее, много лет назад, но без ответа испортил документ при добавлении изображения
Привет
У меня есть шаблон, где я заменяю некоторые переменные и генерирую документ 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);
Я потерялся здесь ..? ..
После контакта с 2mdc (создателем phpDocX) они сказали мне, что PHP не может получить правильное расширение из-за имени файла изображения, которое я вставляю. В результате phpDocX добавляет некоторые неправильные значения (например, dpi и имя расширения изображения).
Как уже упоминалось в моем вопросе, Word может обнаруживать эти ошибки и исправлять их.
Изменил мою процедуру, которая создает мои «уникальные» имена изображений, чтобы убедиться, что точки отсутствуют, и это решило проблему ..
В результате имя файла: 110333870356bc784cf1b6b0.56722572.png вместо этого станет 110333870356bc784cf1b6b0656722572.png (или другим сгенерированным именем файла).
Просто чтобы поделиться своим опытом.
У меня была точно такая же проблема, но не по той же причине.
Это потому, что расширение файла изображения, которое я хотел вставить (addImage), было написано заглавными буквами.
Пример :
Я надеюсь, что это поможет кому-то …