Как сделать сепарированный пдф

Обновлено: 07.07.2024

значится так. необходима программулина которая умеет конвертировать сепарированный PDF в композитный. Очень желательное условие - в автоматическом режиме, т.е. говоришь - смотреть в эту папочку. она смотрит. и то что там появляется - конвертит в композит. Как крайний вариант - рассматриваются сепарированный PS --> в композитный PDF.
Что уже отсмотрено
1. Creo seps2com - плугин к акробату. нормально конвертит, но нет режима автоматичаской работы.
2. Agfa Apogee Create Normalizer s2 v 1.0.2
RIP хорошо работает в автомате. но кушает PS из которого делает композитный PDF, но. не любит некоторых специфических вещей.
Хотелось бы так сказать нечто. в одном флаконе. кто знает.

- троечники учат двоечников быть троечниками. Кошмар.

Гигиена - враг туризма!

честно говоря никогда не задавался таким вопросом. а разве харлекиновский рип такого не умеет?

p.s. под рукой сейчас нет. а то бы проверил.

нет. такой полуавтомат - точно не нужен. в качестве полуавтомата гораздо удобнее seps2com - одна кнопка в акробате.

- троечники учат двоечников быть троечниками. Кошмар.

- троечники учат двоечников быть троечниками. Кошмар.

Бесплатный и удобный инструмент для разделения PDF-документов: разбивайте файлы любого размера на отдельные страницы с помощью PDF2Go.

× Предупреждение: Вы ввели верный пароль, но он не снимает ограничение на редактирование файла. Введите пароль с соответствующими правами доступа.

Как разделить PDF-файл онлайн?

Расширение PDF2Go для Firefox

Оставайтесь на связи:

Разделяйте PDF-файлы онлайн
бесплатно в любом месте

Как извлечь страницу из PDF-файла

Вы можете перетащить PDF-документ или загрузить его с устройства или из облачного хранилища (например, Dropbox и Google Диск).

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

Разделяйте PDF-файлы онлайн

Не надо скачивать и устанавливать программу, разделяйте PDF-файлы онлайн без риска заражения компьютера!

PDF2Go заботится о PDF-файлах онлайн.

Нужен ли мне PDF-сплиттер?

Чтобы ускорить скучный процесс сканирования, можно сохранить в одном файле целую книгу или несколько статей. Но в итоге вам могут понадобиться отдельные страницы полученного PDF-документа.

Нет необходимости отправлять и печатать весь файл. Просто извлеките нужные страницы!

Файлы в полной безопасности!

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

См. подробности в Политике конфиденциальности.

Какие файлы можно разделить?

С бесплатным инструментом PDF2Go вы можете быстро разделить PDF-документ или извлечь страницы из файлов Microsoft Word или OpenOffice.

Разделяйте PDF-файлы в любом удобном месте

Сервис PDF2Go работает на любых устройствах.

Разбить PDF-файл на страницы можно в любом браузере, используя смартфон или планшет с Linux, Mac или другой операционной системой.

Оцените инструмент 4.8 / 5

Чтобы оставить отзыв, преобразуйте и скачайте хотя бы один файл

помогите разобраться.
недавно приобрели ФНА. Запускаю на вывод ps - все нормально. Запускаю сепарированный pdf - пленки выходят все с одним и тем же углом поворота растра - как в черном.
фотонабор принимает все - как чернь. Может подскажет кто - в чем дело?

Оригинал принадлежит Bob.ai
помогите разобраться.
недавно приобрели ФНА. Запускаю на вывод ps - все нормально. Запускаю сепарированный pdf - пленки выходят все с одним и тем же углом поворота растра - как в черном.
фотонабор принимает все - как чернь. Может подскажет кто - в чем дело?

Если окажется так, что Ваш Рип по умолчанию некорректно обрабатывет ПДФ-ы, то попробуйте решить проблему с сепарированными ПДФ таким образом: перед отправкой файла на РИП выставляйте углы поворота растра для каждой краски отдельно (т.е. выставили к примеру 15 градусов, отриповали, послали на печать только циан, и собственно дальше 75, 0, 45). Работы конечно больше, но результат стабильный.

В общем-то всегда так и было. делёный pdf файл и Delta'ми раньше (6-ой по крайней мере, как сейчас не знаю) и Brisque'ами воспринимается как 4 черно-белые сепарации. а сепарёный PS - нормально.

Выход - либо выводить сепарёные PS, либо композитный PDF.

Кстати, а зачем вообще делёные файлы использовать.

IMHO композитные лучше. Раньше делёные выводили из-за Quark'овского треппинга, сейчас же вроде бы уже и смысла нет.
под Scitex выводы есть PressTouch или FAF на RIP'e, под Хейдели с треппингом прекрасно справляется Delta 8. Тем более, что в композитном файле проще предупредить неправильные overprint'ы. Установил только Black overprint и вперед.

Выход - либо выводить сепарёные PS, либо композитный PDF.

Кстати, а зачем вообще делёные файлы использовать.

Полностью поддерживаю Intruder-а по поводу использования композитных ПДФ и композитных пост-скриптов. Процесс становится на самом деле более "прозрачным" и управляемым и даже редактируемым по ходу обработки именно ПДФ. Приобретите также PitStop, этот софт позволит Вам редактировать (частично, если необходимо) ПДФ прямо на спусках или подготавливаемых для спусков файлов.

ЗЫ: Только будьте аккуратнее с прозрачностями и прочими эффектами содержащимися в файлах. Бывает слетают.

Полностью поддерживаю Intruder-а по поводу использования композитных ПДФ и композитных пост-скриптов. Процесс становится на самом деле более "прозрачным" и управляемым и даже редактируемым по ходу обработки именно ПДФ. Приобретите также PitStop, этот софт позволит Вам редактировать (частично, если необходимо) ПДФ прямо на спусках или подготавливаемых для спусков файлов.

дело в том, что мне принесли деленный pdf на 32 сепарированные страницы и ничего больше.
Кстати, слышал, что как-то можно деленный pdf в композитный собрать. не в курсе?

p.s. а рип у нас дельта 7.5

дело в том, что мне принесли деленный pdf на 32 сепарированные страницы и ничего больше.
Кстати, слышал, что как-то можно деленный pdf в композитный собрать. не в курсе?


Кстати, слышал, что как-то можно деленный pdf в композитный собрать. не в курсе?

В принципе можно согласится, что компазитные пдф ничем не хуже чем сепаренные поскрипты, но при условии:
1) Оператор фотовывода лучше заказчика знает, какой треппинг на какой цвет нужен заказчику (или не отслеживает этоти параметры вообще)
2) Заказчик умеет создавать грамотные пдфы (компресия, наличие пантонов, треппинги, углы наклона растра)- как показывает практика этим "Искуством" владеет пока отсилы 20 процентов наших клиентов.

если сепарированный пдф зделан правильно, то он выводится с нормальными углами (покрайней мере у меня) - разговор про pdf 1.3 тут естественно не идет.

для того чтобы конвертировать сепаренный пдф в компазитный есть плагин акробата (могу поделится - под мак)

зделать из сепаренного поскрипта компазитный пдф тоже можно, исползуя например Apogee PS Normalayzer.

резюмируя вышеизложенное: на практике с постскриптом работать спокойнее.

Оригинал принадлежит kostay

для того чтобы конвертировать сепаренный пдф в компазитный есть плагин акробата (могу поделится - под мак)
Оригинал принадлежит Valery
1 Утилита seps2comp
2 Проверь установки рипа inRIP color separation

если рип - агфовский то настройка inRIP color separation ничего не даст равно как и Scrin Filter. выход один - отказатся от использования пдф 1,3 или перебивать углы ДО РАСТРИРОВАНИЯ.

если сепарированный пдф зделан правильно, то он выводится с нормальными углами (покрайней мере у меня) - разговор про pdf 1.3 тут естественно не идет.

для того чтобы конвертировать сепаренный пдф в компазитный есть плагин акробата (могу поделится - под мак)

зделать из сепаренного поскрипта компазитный пдф тоже можно, исползуя например Apogee PS Normalayzer.

Да. Мои деленные pdf ы нормально проходят. а клиентские - нет. К тому же - бывает такая ситуация: Мне коллега скинул ps файл по сетке. Неважно - композитный ли, деленный ли. Но. надо вывести только один cyan. Ну, случаются такие ситуации у нас в Брянске. Мне приходится дистилить ps, открывать дистилированный pdf, удалять лишние страницы, оставляя один cyan, бежать на фотонабор, задавать черному угол голубого, и только затем выводить. Ну, не маразм ли? Я почему эту тему и поднял. Хотя, москвичам наверно непонятны проблемы Брянска. А как вам то, что в Брянске только впервые появился барабанный фотонабор A2+. И никто его никогда в глаза не видал?

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

С portable document format'ом не всё так просто, как DOCX или ODT, что мы рассматривали в прошлый раз, но всё же это всё ещё изначально текстовый, а не бинарный формат. Вы удивлены? Тогда давайте посмотрим на то, что там внутри. Дальше действительно много текста.

Типы данных PDF

PDF поддерживает несколько базовых типов данных (если быть точно восемь), часть из которых нам понадобится для работы — это строки (strings), массивы (arrays), словари (distionaries), потоки (streams) и объекты (objects). Остановимся на каждом.


Как результат, на выходе мы получим две строки:


Из-за своей изначальной восьмибитовости в PDF есть несколько способов для вставки текстовых данных, например, в той же кодировке Unicode. Мы можем использовать вставку по восьмеричным кодам символа ( \053 ), с помощью отдельного двухбайтового hex'а ( ) или даже их последовательности ( ). Например, следующие строки эквивалентны:


В строках мы в будущем научимся искать текстовые данные, которые содержит в себе PDF-документ.
Массивы
Массивы в PDF заключаются в квадратные скобки и представляют собой просто последовательность группированных объектов. Например: [(Hello,)10(world!)] . Массивы подчас содержат текстовые строки.

Словари
Это обрамлённые в > пары ключ-значение. Словарь часто используется для наделения объекта, который его содержит, свойствами, что описаны в dictionary. Нам же эти данные помогут определить, как, например, расшифровать поток, узнать его длину или, наоборот, отбросить текущий объект, как неинтересный (если это изображение). Перед вами пример обычного PDF-словаря:


После чтения, мой код представит его в виде:

Потоки
Потоки представляют последовательность восьмибитных данных между ключевыми словами stream и endstream . Любые бинарные данные, будь-то сжатый текст, изображение или внедрённый шрифт, будут представлены в виде потока. Поток всегда находится внутри объекта (чуть ниже) и характеризуется, как минимум, своей длиной (опция /Length N в словаре) и очень часто методом сжатия (например, /Filter /FlateDecode ). PDF поддерживает достаточное количество форматов сжатия (в том числе и формат шифрования /CryptDecode ), нас же будут интересовать лишь три: наиболее часто используемый Flate (gzip-сжатие) и более редкие ASCII Hex (представление данных в виде шестнадцатеричной строки с конечным символом > ) и ASCII 85-based (сжатие, когда подряд идущие 4 символа исходного текста кодируются 5 символами от ! до y в ASCII таблице).

В stream'ах мы будем искать текст, который хотим получить из PDF-документа. Пример потока вы можете найти во второй половине изображения, что вначале данного топика: да-да, те крякозябрики — это оно и есть.

Объекты
Объекты — это наибольшая структура, с которой на предстоит работать. Объект может содержать внутри себя любой другой тип данных от обычного числа до потока, обрамляется ключевыми словами obj и endobj . Объект имеет свой ID внутри документа, по которому можно на него ссылаться. Нам в первую очередь интересны объекты с потоками внутри себя (не забываем об основной подзадаче), которые почти всегда содержат ещё и набор дополнительных опций в виде словаря. Вот обычный пример объекта внутри PDF-файла (с несжатым содержимым потока):

Где искать текст?

Найдём в данном документе какой-нибудь объект и начнём его разбирать. Я немного смухлюю и возьму объект, в котором заведомо есть текстовые данные, но это только для примера — скрипту всё равно с чем работать:

Давайте для начала разберёмся, что перед нами, используя полученные ранее знания о типах данных PDF. Перед нами объект со словарём свойств, которые говорят, что длина потока данных 681 байт ( /Length 681 ), что поток сжат ( /Filter ) в gzip ( /FlateDecode ). Уже достаточно информации, чтобы разжать поток данных — подойдёт gzuncompress :

  • ПАРУС кодируется, как 01 02 03 04 05
  • Белеет — как 06 07 08 0707 09 .

Таблица преобразований

bfchar
Преобразование, что находится между beginbfchar и endbfchar , самое простое. Оно ставит в соответствие первому коду другой. Например, в примере выше мы узнали, что 01 скрывает за собой код символа П . Но это лишь частный случай работы данного преобразования — есть возможность ставить в соответствие одному коду целую строку до 512 символов длины (т.е. до 128 символов в Unicode).

  • — мы работает с диапазоном от 0000 до 005E, каждое значение из которого преобразуется в значения из промежутка 0020 и 007E. Заметили принцип? 0000 преобразуется в 0020, 0001 в 0021, 0002 в 0022 и так далее;
  • [ ] — каждое значение из промежутка между 005F и 0061 (т.е. ещё 0060) заменяется на соответствующую последовательность из массива в квадратных скобках: 005F будет заменён на 0066 00 66 (т.е. на ff ), 0060 на fi , а 0061 на ffl .

Алгоритм и код

Код с комментариями вы можете получить на GitHub'е.

Заключение

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

Этот код не работает с индивидуальным позиционированием символов. Задача посильная и не сложная, я возлагаю её решение на плечи читателя.

Этот код не идеален в плане чтения PDF-файла по его внутренним стандартам представления информации: он не ищет страницы, он не будет работать с версиями документа (PDF поддерживает историю изменений), возможно даже, что он не идеально прочитает информацию, которую сможет обработать.

Стоит заметить, что никто не отменял $content = shell_exec('/usr/local/bin/pdftotext '.$filename.' -'); . Но в данном случае стояла задача чтения PDF под любой платформой и на любой площадке.

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

Читайте также: