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