PDF открывается повёрнутым
Поворот в PDF хранится как число при странице: пиксели лежат как лежали, а просмотрщик доворачивает картинку при показе. Отсюда две вещи. Кнопка поворота в программе просмотра почти всегда крутит изображение только у вас на экране и в файл ничего не пишет — получатель увидит исходное положение. И наоборот: сохранённый угол уедет вместе с файлом и подействует у всех, включая принтер.
Коротко о цифрах
- Что такое поворот в PDF
- число при странице, пиксели не переворачиваются
- Не всегда кратен 90
- сканеры пишут 45, старые программы — минус 270
- Нормализация
- угол округляется до четверти оборота и сворачивается в 0–360
- Поворот вида
- не записывается в файл — получатель увидит исходное положение
- Координаты после поворота
- на угле 90 «сверху» для читателя — левая сторона исходной рамки
Почему поворот в просмотрщике не помогает
Программа просмотра различает две операции: повернуть вид и повернуть документ. Первая меняет только то, как страница показана в окне, и живёт до закрытия файла. Вторая записывает новый угол в сам документ, и её обязательно нужно закрепить сохранением. Пункты меню у них похожи, поэтому люди годами крутят вид и удивляются, что у получателя всё по-прежнему.
Отсюда простая проверка. Поверните, закройте файл, откройте заново. Вернулось в прежнее положение — вы крутили вид. Осталось как повернули — угол записан в документ, и его увидят все.
Откуда берутся странные углы
- Сканеры с автоопределением ориентации иногда записывают угол, не кратный четверти оборота, — встречается 45 градусов.
- Старые генераторы пишут отрицательные значения вроде минус 270 вместо эквивалентных 90.
- Библиотеки, которые собирают PDF, на таких значениях падают: поворот требует кратности девяноста, иначе операция бросает ошибку.
- Мы приводим угол к четверти оборота и сворачиваем в диапазон от нуля до 360 — иначе документ со скана невозможно было бы повернуть вообще.
Что нужно помнить про повёрнутые страницы
Поворот меняет систему координат для всего, что рисуется поверх страницы. На странице с углом 90 градусов «сверху» с точки зрения читателя — это левая сторона исходной рамки, и водяной знак, номер страницы или поле обрезки, посчитанные без учёта угла, уезжают в другой угол листа. Наши инструменты считают положение в той системе, которую видит человек, а не в исходной.
Второй нюанс — видимая область. Она задаётся отдельно от размера листа, и у сканов эти рамки почти всегда различаются. Отсчёт от размера листа вместо видимой рамки — молчаливая ошибка: файл открывается нормально, а содержимое оказывается смещённым.
Частые вопросы
Повернул страницы, а у получателя они снова боком. Почему?
Вы повернули вид, а не документ. Эта операция живёт только в окне программы и в файл ничего не записывает, поэтому у любого другого человека страница откроется в том положении, в каком она хранится.
Можно ли повернуть только часть страниц?
Да, угол хранится у каждой страницы отдельно. Это обычная ситуация для сканов: альбомные таблицы среди книжного текста разворачивают отдельно, и остальной документ при этом остаётся нетронутым.
Почему другие сервисы отказываются поворачивать мой скан?
Скорее всего, у страницы записан угол, не кратный девяноста градусам. Библиотеки на таком значении бросают ошибку, и без приведения угла к четверти оборота операция не выполняется вовсе.
Влияет ли поворот на печать?
Да, и напрямую: принтер берёт ориентацию из документа. Если угол записан в файл, лист выйдет повёрнутым, а если вы крутили только вид, печать пойдёт в исходном положении.