Попытка создать гиперссылку на изображение в Word doc с помощью PHP - PullRequest
0 голосов
/ 08 июля 2019

Так что 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, но файлы, которые он создает, все еще повреждены. Возможно ли винрар виноват?

...