Как сохранить гиперссылки в PDF
Кликабельность держится не на тексте, а на отдельном объекте: прозрачном прямоугольнике поверх страницы, внутри которого записан адрес. Синий подчёркнутый текст под ним — просто оформление. Поэтому судьба ссылки решается тем, что делает с этим прямоугольником каждый следующий инструмент: конвертация его создаёт, склейка переносит вместе со страницей, сведение намеренно обходит стороной, а сжатие с перерисовкой убирает вместе со всем остальным.
Обновлено:
Коротко о цифрах
- Что такое ссылка в PDF
- аннотация: область страницы плюс действие
- Связь с текстом
- её нет: подчёркнутый текст — только оформление
- Объединение страниц
- переносит аннотации, внутренние переходы ведут на свои страницы
- Сведение форм
- ссылки пропускаются намеренно и остаются рабочими
- Сжатие с перерисовкой
- убирает ссылки полностью вместе со слоем текста
- Оптимизация структуры
- ссылки не трогает
Как ссылка устроена внутри файла
В PDF ссылка — это аннотация: область на странице плюс действие, которое надо выполнить при нажатии. Действий бывает два вида: открыть внешний адрес или перейти к месту внутри документа. Текст под областью к ней не привязан, его можно стереть, и прямоугольник останется висеть на пустом месте.
Отсюда следует практический вывод. Если в исходном документе адрес просто напечатан буквами и гиперссылкой не оформлен, в PDF никакой аннотации не появится. Некоторые программы просмотра сами подсвечивают похожий на адрес текст, но это их услуга, а не свойство файла: в другой программе или на печати ничего не произойдёт.
Что делает со ссылками каждый инструмент
- Конвертация из офисного формата: LibreOffice переносит и внешние адреса, и внутренние переходы, если они были оформлены как ссылки, а не набраны текстом.
- Объединение, извлечение и удаление страниц: аннотации едут вместе со своей страницей, внутренние переходы пересчитываются на копии оставшихся страниц, а ссылка на страницу, не попавшую в результат, снимается.
- Сведение форм: ссылки пропускаются намеренно. У них нет собственного изображения, которое можно было бы впечатать, а удаление отняло бы у читателя навигацию — поэтому они остаются рабочими.
- Номера страниц и водяной знак: рисуют поверх содержимого и аннотаций не касаются вовсе.
- Сжатие: страница перерисовывается в изображение, и от ссылок не остаётся ничего — ни областей, ни адресов.
- Оптимизация структуры: переписывает файл целиком, не трогая ни текст, ни аннотации, поэтому ссылки переживают её без потерь.
Проверка за три действия
- Наведите курсор на ссылку: над рабочей областью он меняется, над обычным текстом — нет.
- Нажмите на неё и посмотрите, куда ведёт: адрес мог перенестись с опечаткой или без протокола.
- Проверьте внутренние переходы — в оглавлении и перекрёстных ссылках они ломаются чаще внешних.
- Если файл собирали из частей, отдельно пройдите по ссылкам, которые вели между этими частями.
Как не потерять ссылки по дороге
- В исходнике оформляйте адреса именно гиперссылками, а не набирайте текстом — иначе переносить будет нечего.
- Если файл надо и уменьшить, и сохранить кликабельным, начинайте с оптимизации структуры, а не со сжатия страниц.
- Собирайте документ до того, как расставите перекрёстные ссылки: после склейки внутренние переходы между бывшими файлами не восстанавливаются.
- Проверяйте результат в двух разных программах: одна может подсвечивать адреса сама и создавать ложное впечатление, что всё работает.
Частые вопросы
Почему адрес в PDF виден, но не нажимается?
Потому что в исходном документе он был набран обычным текстом, без оформления гиперссылкой. Переносить в PDF оказалось нечего: область для нажатия создаётся только из настоящей ссылки, а не из похожего на адрес текста.
Куда делись ссылки после сжатия файла?
Сжатие перерисовывает каждую страницу в изображение, а изображение не содержит ни областей нажатия, ни адресов. Если ссылки нужны, уменьшайте файл оптимизацией структуры — она аннотации не затрагивает.
После объединения перестали работать переходы по оглавлению. Почему?
Если объединяли у нас, переходы внутри каждого файла ведут на свои страницы: цели пересчитываются на копии. Не работают переходы, которые в исходнике вели в другой файл, — склейка не превращает их во внутренние, — и переходы в файлах, склеенных программой, которая цели не пересчитывает.
Сведение форм убьёт ссылки?
Нет. Ссылочные аннотации оно намеренно пропускает: рисовать у них нечего, а удаление лишило бы документ навигации без всякой пользы. Впечатываются только те объекты, у которых есть собственное изображение.