Так что PHPWord в настоящее время (0.16) не поддерживает добавление гиперссылок к изображениям. Ссылка на ошибку:
https://github.com/PHPOffice/PHPWord/issues/1629
Я пытаюсь найти обходной путь. Я знаю, что docx-файлы - это просто zip-файлы, и я нашел это в:
word/_rels/document.xml.rels
, который генерируется PHPWord, есть раздел Relationships.
Я создал простой тестовый документ в Word, в котором просто есть 2 изображения, одно со ссылкой, а другое без, чтобы увидеть, как Word это обрабатывает. Похоже, что он просто вставляет:
<Relationship Id="rId10" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="https://www.example.com" TargetMode="External"/>
в раздел Отношения.
Однако, когда я добавляю это в файл, который генерирует PHPWord, сохраняю его и переархивирую (и добавляю расширение docx), я получаю сообщение об ошибке, когда пытаюсь открыть его словом, что файл поврежден. Есть ли что-то еще, что мне нужно добавить?
Спасибо.
обновление
Я использовал Winrar, чтобы разархивировать и сжать файлы XML. В Winrar я выбрал использование формата ZIP вместо RAR, но файлы, которые он создает, все еще повреждены. Возможно ли винрар виноват?