Как стать автором
Обновить

Комментарии 57

Статья-кайф, за это интернет и люблю

Но у меня немного душный вопрос.

В заголовке написано, про размер файла pdf, а в статье рассматривается размер 1й страницы в файле. Это так? Или я что-то не уловил?

Я за Вами в очереди душнил: а зачем? Зачем нам файл с физичиеским размером страницы хотя бы и в сотню метров?

Вы абстрагируйтесь от руководств, и представьте, что надо сделать печатный файл для печати на фасаде здания высотой 60 этажей (200+метров) и шириной 50 метров, небольшими полотнами по 6 на 3 метра. Вот именно эту задачу и решает данная конструкция. Условно конечно можно сделать масштабирование, но далеко не всегда это приемлемо. И реально ограничение в 5+ метров бесило полиграфистов на таких работах, потому что на изображении может идти мелкий текст, а ему недостаточно разрешения в 10-15 пикселей, которые получаются при масштабировании. Задач с большими PDF масса, например чертёж надо отдать в печать, а у тебя портянка гребного вала или сети канализации в срезах горизонтальных, да специальный софт типа Автокада поддерживает это, но из него е всегда есть возможность послать на принтер, потому что у чертёжников нет такого принтера, типа 2 м шириной и 30 метров длиной, а у печатников нет такого софта, поэтому только пдф, и тут вообще без вариантов с тем, чтобы это растрировать, только вектор, только хардкор.

Я абстрагиваюсь и неизбежно прихожу к тому, что файл получается целиком в векторе - что чертеж АЭС, что карта Германии 1:1, что реклама на фасаде башни "Федерация", а его хоть на А4 сделай - можно вывести на печать "по размеру бумаги", с разбивкой на N страниц и т.д. - чего душенька изволит и драйвер печатающего устройства позволит. Можно, конечно, залить растром весь фасад небоскреба и наслаждаться результатом, предварительно выколов себе глаза, но боюсь что раньше оперативка закончится, чем такой файл в растре на печать отправится. Так что я по-прежнему не понимаю, зачем реально может понадобиться файл с таким физическим размером страницы - я ведь неспроста выделил все эти 3 слова...

но боюсь что раньше оперативка закончится, чем такой файл в растре на печать отправится.

Растровая картинка 50×50 м при разрешении 1 dpi (больше на такой размер и не нужно) в несжатом тифе займет около 15 МБ. Там получится 1969×1969 пикселей.

И реально ограничение в 5+ метров бесило полиграфистов на таких работах, потому что на изображении может идти мелкий текст, а ему недостаточно разрешения в 10-15 пикселей, которые получаются при масштабировании.

Это не проблема. Чертежи большего формата, чем А0 никто не печатает (даже А0 редкость в полиграфии, в основном А3 или А2), потому что ползать по такой простыне в поисках мелкого текста крайне неудобно, а большие баннеры с расстояния вытянутой руки никто не разглядывает, ведь баннер нужен для привлечения внимания большого количества людей, то есть смотреть на него лучше отойдя на некоторое расстояние. Тогда разрешение начинает играть меньшее значение и его можно безболезненно снизить. Так всегда делают. Так что в статье описан способ увеличения размеров изображения за счет снижения разрешения.

Максимальное количество единиц в PDF все равно ограниченно 14400, изменение размера единицы эквивалентно масштабированию, и не позволит улучшить качество отображения "гребного вала или сети канализации".
Вы не сможете позиционировать не то что пылинки, но и галактики на гипертрофированном PDF, с достаточной точностью, чтобы отображать вселенную с практической пользой.

Векторная графика при любом разрешении останется четкой.

Вектора состоят из вещественных чисел, представление которые имеет конечную точность. Так что нет, не при любом разрешении. Можно, конечно, спорить, считать ли искажения в векторной графике потерей "четкости", но смысл остается тем же, pdf не годится для инженерной или научной графики. Не зависимо от того, как вы назовете в нем единицу, дюйм или парсек.

Конечно имеет конечную точность. Разве это имеет смысл уточнять на хабре? Мы же не на юридическо-бюрократическом языке общаемся. А смысла в пдф межгалактических масштабов просто нет. 381 км пока что вполне хватит.

Для чего хватит 381 км? Если вы установите UserUnit равным 75000, вы сможете получить размер страницы 381 км, но при этом сможете позиционировать объекты на ней с точностью 26 метров. Этого недостаточно, например, для привязки схемы газопроводов к местности, да и даже для GPS навигатора плохо.

На таких размерах и не нужна высокая детализация, только общий вид. Да и посмотреть на экране такой пдф проблематично. Я вообще считаю, что делать пдф шире, чем ширина широкоформатного принтера на котором его можно распечатать, не имеет смысла.

Почему 26 метров? Вы думаете, нельзя указывать дробные значения координат? Я только что проверил — можно.

pdf не годится для инженерной или научной графики

Почему? Можете привести пример такой графики, для которой pdf не годится?

Почему 26 метров? Вы думаете, нельзя указывать дробные значения координат? Я только что проверил — можно.

То что можно указывать дробные значения координат, еще не значит что они будут обработаны как дробные. Это тоже нужно проверять. Или посмотреть в описании формата. И тут, вытекает ответ на второй вопрос. Pdf не годится для инженерной или научной графики потому что нет описания формата, которая ответит на все вопросы разработчиков программ инженерной и научной графики.

Adobe published the complete PDF specification in 1993

из https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf

Скажите честно: Вы знаете, на какие вопросы не отвечает ISO 32000-1:2008, или Вы просто от кого-то это слышали?

Знаю на какой не отвечает. Максимальное возможное значение UserUnit, иначе бы автор статьи не занимался бы экспериментами, просто прочел бы спецификацию, и этой статьи бы не было.

UserUnit number
(Optional; PDF 1.6) A positive number that shall give the size of default user space units, in multiples of 1 ⁄ 72 inch. The range of supported values shall be implementation-dependent.

Страница 79. Ответ в спецификации есть, статья (для меня) в основном не про это.

Серьёзный вопрос, без подвоха: нужно ли полное отсутствие зависимостей от имплементации для инженерной и научной графики, и существуют ли такие форматы?

Мне такие форматы не известны. И не считаю, что в принципе возможно объять необъятное и выдать одно решение, которое будет удовлетворять всем запросам.

Что б запихать огромную карту или схему корел в пдф?) скажем подробную карту германии?)и распечатать

Создание PDF-файла размером с Германию

Только не пытайтесь его распечатать.

Жранкель! Дранкель! Шмульке!!!

ОСТАНОВИТЕ ПРИНТЕР!!!

— Принтер, хальт! Айн-цвай!

**друкер или друкар, в зависимости от произношения р

Дрючить никого не надо.

«Цво» вроде в армии. Чтобы с «драй» не путалось. Типа нашего «полста», чтобы не перепутать с «шестьдесят».

Хотя этим простительно не знать, им же жлонкер от вахмутузера на ногу упал, тут всё позабудешь %)

И шутки типа "правил вёрстку, блок уехал в Чехословакию" выходят буквально на новый уровень.

Почему-то напомнило: из Палаты мер и весов похищен эталон гектара...

В конечном итоге я получил документ, размер которого по описанию Preview оказался больше всей Вселенной

Строго говоря это совершенно не значит что размер документа больше всей вселенной.

Площадь документа и его физический размер - не равны. Если вам угодно.

Я один ожидал, что он заполнит файл данными в конце)))?

Нас было двое

Судя по плюсам - минимум четверо (вы плюс 3 на данный момент)

Я не очень понял, о каком ограничении физических размеров PDF-файла идёт речь. Это ж постраничный документ. Он может быть ограничен числом страниц. А их суммарный физический размер может быть ограничен лишь размерами экрана, на который они выводятся, или техническими возможностями печатного станка.

Он не о файле говорил, а о физическом размере страницы в этом файле.

Если вы сохраните следующий код в файл с именем myexample.pdf, то при его открытии в ридере увидите страницу с красным квадратом:

Что-то автор оригинала напутал в числах, похоже (да и переводчик тоже), потому что сохранение данного куска кода в виде pdf-файла (как из перевода, так и из оригинальной статьи) не даёт рабочий pdf-файл. Во всяком случае, встроенный просмотрщик Firefox'а его не признаёт — пишет 0 страниц из 0 и ничего не показывает.

PS. Файл biggest.pdf из статьи при этом открывается нормально.

Ага, удалось сделать работающий файл, удалив комментарий перед разделом trailer — судя по всему, он считался частью таблицы перекрёстных ссылок xref. На это также ругалось расширение для VSCode PDF COS syntax (@ext:pdfassociation.pdf-cos-syntax). После удаления комментария Firefox корректно отобразил файл.

Что любопытно, в переведённой версии файла таблица перекрёстных ссылок начинается отнюдь не с байта 2196, как указано в разделе startxref, а с байта 2111, но Firefox всё равно отобразил файл. Он его показывает даже в том случае, если этот раздел вообще удалить (расширение при этом ругается на его отсутствие) или даже записать туда какую-то белиберду (даже не число).

Когда я скачал .pdf размером с Вселенную, я увидел, что сам файл примерно 20 на 30 см))

"Галактика на поясе Ориона?" (с)
)))

Мало разбираюсь в теме, но читать было интересно)
С меня плюс, естественно)

Действительно. Спасибо, скорректировал.

Вас подловили

Я чуял подвох.... Вот времена пошли, женщин от мужчин навскидку порой трудно отличить... Хотя это вроде даже не самый сложный случай..... Может и род по тексту вперемешку тогда написать??

Однако! Смотрите, что сказано самим(?) автором на сайте:

I’m queer, trans, and I loosely describe as a genderfluid shapeshifter (which may mean more to me than anyone else). My pronouns vary; on the web, either “they” or “she” are safe choices.

Подходящий момент для фейспалма...

На практике, я вот постоянно в айти тусовке, на форумах и так далее, и трансов среди программистов прямо таки дохрена. Причём некоторые более похожи на девушек, а некоторые выглядят, как автор статьи - жирный ботан волосы отрастил, и просит, чтобы к нему на she обращались. Что поделать - психиатрия это тонкая наука. Вспомните того же Тьюринга, который геем был, а его власти Великобритании ещё и кастрировали.

Эксперимент можно было продолжить, что я и сделал. В конечном итоге я получила документ

Недостаточно скорректировали.

Почему обожествляется именно Acrobat Reader? Очень много приходилось заниматься выводом сложной векторной графики в PDF, по нескольку десятков тысяч графических элементом в одностраничные документы размеров в несколько метров, как правило с воспроизведением лучше справлялся Foxit Reader, у Adobe раньше начинали проявляться всякие ограничения, на нескольких метрах, также во всяких нюансах они отличаются. Рекомендовал пользователям юзать Foxit

по нескольку десятков тысяч графических элементом в одностраничные документы размеров в несколько метров

Интересно, какое практическое применение таких документов?

Обмен схемами энергообъектов и энергосистем между диспетчерскими службами. Отправка их на печать на рулонные плоттеры.

Рекомендовал пользователям юзать Foxit

Компания Foxit деятельно благодарить Вас за расширение её пользовательской базы.

А труЪ опенсорсники юзают SumatraPDF. (гитхаб)

К опернсорсникам себя не отношу. Но и ссылок не распространял

Посмотрел , понравилось что маленький и мало ест памяти.
Не понравилось что ооочень медленно рисует.

Дмитрий, у вас в подзаголовке "Внутренняя структура PDF" первый абзац ведется от лица девушки

Зарегистрируйтесь на Хабре, чтобы оставить комментарий