Что такое код pdf_show

Содержание

PHP QR-код сканирования из PDF-файла

У меня есть файл PDF с QR-кодом. Я загрузил файл в папку сервера с именем «tmp», и теперь мне нужно отсканировать и преобразовать этот QR через PHP.

Я нашел эту библиотеку:

Но это работает только для файлов png / jpeg.
Есть ли способ сканировать PDF? Есть ли способ конвертировать PDF в png только время, которое мне нужно?

Решение

Во-первых, преобразуйте свой PDF в изображение с Imagick , затем используйте ваша библиотека декодировать QR-код из него:

Другие решения

Вы хотите преобразовать PDF в поддерживаемый тип изображения ИЛИ найти библиотеку для чтения QR-кода, которая поддерживает PDF-файлы. ИМО первый вариант проще. Быстрый поиск приводит меня к http://www.phpgang.com/how-to-convert-pdf-to-jpeg-in-php_498.html для PDF -> IMG Converter.

Предположительно, QR-код встроен в PDF как изображение. Вы можете использовать инструмент командной строки, такой как pdfimages чтобы сначала извлечь изображение, затем запустите вашу библиотеку QRReader для извлеченного изображения. Вам может потребоваться немного проб и ошибок, чтобы определить, какое изображение является QR-кодом, если в PDF-файле содержится более одного изображения.

Увидеть извлекать изображения из PDF с помощью PHP для более подробной информации.

Можно ли вставить javascript-код в PDF-файл?

Конкретно JS встроить нельзя. Сам PDF спроектирован для хранения документов в том виде, в котором должны видеть документ принтеры. Подгрузку информации с сайта реализовать не получится, PDF полностью оффлайн, от текста до шрифтов и изображений.

Впрочем, есть и неявные возможности PDF, например, ссылки на внешние документы, например, на другие PDF, лежащие в соседней папке. Пределы возможностей PDF следует искать в документации PostScript или его opensource-реализации GhostScript.

Код pdf

leobrn

Участник

Тема была в универе про вирусы в pdf файлах.
Задание такое:
В коде любого пдф файла есть вторая строка: %µµµµ ( не во всех файлах). Что она означает?

Часть пдф кода:
%PDF-1.5
%µµµµ
1 0 obj
>>>
endobj
2 0 obj
>
endobj
3 0 obj
>/ExtGState >/XObject >/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 419.64 595.32] /Contents 4 0 R/Group >/Tabs/S/StructParents 0>>
endobj
4 0 obj
>

Pdfmake — простое создание PDF документов используя JavaScript

Дата публикации: 2020-04-28

От автора: в данном видео я хотел бы рассмотреть создание PDFдокументов на стороне клиента, то есть используя функционал языка JavaScript. При этом мы воспользуемся готовой библиотекой под названием Pdfmake ,благодаря которой можно быстро создать документ выше указанного формата не задействуя серверный язык программирования. Готовясь к данному уроку, я перебрал множество различных библиотек, но свой выбор все же сделал в пользу Pdfmake, хотя некоторые из рассмотренных мной, были функциональнее и более удобны в работе. Так почему же я предлагаю Вам использовать данную библиотеку, спросите Вы, главное ее преимущество это полная поддержка кириллических символов, что позволит создавать документы на русском языке.

Официальный сайт библиотеки Вы найдете по следующей ссылке.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

На странице “Getting Started (Docs)” Вы найдете официальную документацию по данной библиотеке. Для установки библиотеки, необходимо перейти по ссылке “Sources”, на страничку pdfmake, сервиса GitHub, где собственно мы получим возможность скачивания данной библиотеки.

Скачав архив последней актуальной версии Pdfmake, необходимо его распаковать и в полученном каталоге найти папку build. В данной папке нас интересуют два файла:pdfmake.min.js – собственно это и есть библиотека и vfs_fonts.js – библиотека работы со шрифтами.

Вышеуказанные файлы копируем в каталог хранения скриптов языка JavaScript и подключаем на интересующем сайте.

Ищем эксплойты в PDF-документах своими силами

Содержание статьи

Стоит засветить свой почтовый адрес в Сети, как сразу ты становишься просто потрясающе удачливым человеком. Почти каждый день начинают приходить письма о том, что ты претендуешь на какое-то огромное наследство или выиграл в лотерею. Добрые люди присылают PDF’ки со сверхсекретными данными, и очень часто даже антивирусы на них не ругаются. Поэтому, чтобы окончательно решить, стоит ли открывать очередной «секретный отчет по Сирии», придется провести собственное расследование.

WARNING

Многообещающий аттач

Как-то раз, приводя в порядок почтовый ящик и удаляя нежелательную корреспонденцию, я наткнулся на несколько писем с вложением, якобы от британского подразделения Google (правда, отправленных почему-то с китайских серверов), с очередным заманчивым предложением. Собственно, внимание привлекли не сами письма, а то, что они были с вложением в виде PDF-файла. «Вот китайские друзья! Вот молодцы! Прислали мне 0-day», — подумал я. И сразу же полез проверить файл на virustotal — вдруг это какое-то старье. Подумав, сервис ответил, что файл абсолютно нормальный, — ни один антивирус не имел к нему никаких вопросов. «Что-то здесь не так. Не могли же мои китайские друзья так меня подвести?» Развеять сомнения можно было только одним способом — взять и исследовать файл самому. Результатом и полученными знаниями я и хотел бы с тобой поделиться.

PDF-формат

Прежде чем начать, давай кратко рассмотрим формат PDF-документов. PDF-файлы состоят в основном из объектов, которые бывают восьми типов: boolean-значения; числа; строки; имена (Names); массивы (упорядоченный набор объектов); словари (Dictionaries) — коллекция элементов, индексируемых по имени; потоки (Streams) — обычно содержащие большой объем данных; Null-объекты.

Каждый PDF-документ должен начинаться с заголовка, который идентифицирует его как PDF-файл и включает в себя номер версии: %PDF-1.5 . Заканчиваться файл также должен определенным образом — сигнатурой %%EOF .

Хакер #178. Mesh-сети или строим свой интернет

После заголовка идут объекты. Каждый объект начинается с номера ссылки, номера версии и ключевого слова obj . За ним располагается контейнер объекта, заключенный между символами и >> . Заканчивается объект ключевым словом endobj . Чтобы было понятней, приведу пример:

Данный объект начинается с номера ссылки — 1, номера версии — 0 и ключевого слова obj. Затем идет контейнер объекта (между символами и >> ). Заканчивается все ключевым словом endobj . Контейнер может состоять из различных объектов. Наиболее широко распространенным является словарь (dictionary), представляющий собой последовательность пар «ключ — значение», заключенных в скобки и >> . Объект dictionary — это ассоциативная таблица, содержащая пары объектов, известных как записи. В приведенном выше примере Type — это ключ, а /Catalog — значение.

Любой объект в PDF-файле может быть отмечен как косвенный (indirect). Это дает ему уникальный идентификатор, с помощью которого остальные объекты могут ссылаться на него. Например, ключ /Outlines указывает на косвенный объект 2 0 .

Еще один важный объект, входящий в состав PDF-файла, — это поток (Stream), который, как String, представляет собой последовательность байт. Stream включает в себя Dictionary, за которым следуют от 0 байт данных, заключенных между ключевыми словами stream и endstream . Поток, в отличие от строки, может иметь неограниченную длину. Одна из опциональных записей, которая может быть в Dictionary потока, — Filter. Filter — это значение, которое указывает, надо ли распаковывать или расшифровывать данные потока. В PDF-файлах используется множество алгоритмов сжатия и шифрования, таких как: FlateDecode (основанный на DEFLATE или ZIP-алгоритме), DCTDecode (фильтр, основанный на JPEG-стандарте) и другие.

JavaScript — еще один из часто встречающихся объектов в PDF-файле. Движок JavaScript от Adobe частенько страдает от различных уязвимостей, поэтому все, что надо злоумышленнику для успешной эксплуатации, — это создать специальный скрипт, который бы использовал очередную уязвимость в движке. Объект JavaScript обычно выглядит следующим образом: /JavaScript /JS java_script_code . Переменная java_script_code может представлять непосредственно сам код или быть косвенным объектом, ссылающимся на другой JavaScript-код.

JavaScript указывает на косвенный объект

Наиболее интересные «поля»

Как мы выяснили, PDF-файл состоит из заголовка, объектов, таблицы перекрестных ссылок (для определения местоположения объектов) и трейлера. С точки зрения охоты за эксплойтами самыми интересными для нас строками будут:

  • /OpenAction и /AA (Additional Action) определяют скрипт или действие, запускаемое автоматически;
  • /Names , /AcroForm , /Action также могут устанавливать и запускать скрипты или действия;
  • /JavaScript задает JavaScript-код для выполнения;
  • /GoTo* меняет отображение на указанное место внутри исходного или другого PDF-файла;
  • /Launch запускает программу или открывает документ;
  • /URI обращается к ресурсу по его URL;
  • /SubmitForm и /GoToR могут отправлять данные на заданный URL;
  • /RichMedia используется для встраивания Flash в PDF;
  • /ObjStm может прятать объекты внутри Stream’a.

Однако при их поиске не стоит забывать про возможность обфускации с помощью hex-кодов, при которой, например, /JavaScript может превратиться в /J#61vaScript . Также очень часто прибегают к различным трюкам со строками, чтобы усложнить жизнь антивирусам и исследователям. В нормальном виде каждая строка должна располагаться внутри круглых скобок: /URI (https://xakep.ru) . Однако строку можно перенести на несколько, добавив бэкслеш после каждой строки:

Естественно, количество переносов не ограничено, так что ничто не мешает записать строку в «столбик». Помимо этого, можно воспользоваться восьмеричным представлением символов и получить результат вида: /URI (\150ttp://xakep.ru) . Или, если перевести все символы: /URI (\150\164\164\160\163….) . Строки также можно представить в шестнадцатеричном виде /URI . В таких строках шестнадцатеричные числа можно разделять пробелами ( ), причем количество этих пробелов не ограничено. Еще один хитрый способ модификации строк — это шифрование. Тебе когда-нибудь встречался PDF-документ, из которого нельзя было скопировать текст или который нельзя было распечатать? Если так, то это как раз и был тот самый зашифрованный документ. В таком документе зашифровываются все строки и потоки, а сами объекты остаются незашифрованными. Эти моменты тоже придется учитывать при ручном анализе PDF-файлов, потому что такие приемы часто применяются для создания полиморфных форм одного зараженного PDF.

Пример зашифрованной строки

Инструментарий

Для исследования PDF-файлов пригодятся следующие инструменты:

  • PDFtk — кросс-платформенная программа для работы с PDF-файлами, позволяющая проводить декомпрессию их сжатого контента;
  • PDFiD — позволяет сканировать файл на наличие определенных ключевых слов, позволяя сразу выяснить, используется ли в PDF-файле JavaScript или нет;
  • PDF-parser и pdfwalker производят разбор файла, позволяя установить все элементы, из которых он состоит;
  • pdfextract и pdf.py извлекают JavaScript из PDF-файлов;
  • Malzilla и SpiderMonkey пригодятся для деобфускации внедренного в PDF JavaScript-кода;
  • PDF Stream Dumper — многофункциональная утилита для исследования PDF-файлов, собравшая всю мощь многих утилит под одним графическим интерфейсом;
  • Peepdf и pdfsh предоставляют интерактивный шелл для исследования PDF-файлов;
  • SWF mastah извлекает SWF-объекты из PDF-файлов.

Непростая задача

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

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

Обычный JavaScript

Самый простой вариант — это когда над файлом не проводили никаких манипуляций для сокрытия его вредоносного функционала. Представим, что у нас на руках такой файл и нам надо оценить, нормальный ли он или зараженный. Первым шагом необходимо скормить его антивирусу. Если он молчит и говорит, что все ОK, можно обратиться к сервису VirusTotal, чтобы прогнать файл сразу на нескольких антивирусах. Правда, в случае если используется какая-нибудь 0-day-уязвимость, это, скорей всего, не поможет. Поэтому придется проверить все самому. Начнем с того, что выясним, какие интересные объекты входят в состав нашего файла. Прежде всего нас будет интересовать JavaScript, так как в большинстве зараженных PDF используются уязвимости именно в движке JS. Выявить наличие JavaScript-кода в документе можно несколькими способами: либо открыть файл в любом текстовом редакторе и выполнить поиск по /JavaScript или /JS , либо воспользоваться скриптом pdfid.py — pdfid.py 1.pdf , который отобразит все входящие в файл объекты.

Пример работы pdfid.py

Если в документе присутствует JavaScript, то велика вероятность того, что он содержит вредоносный код. Поэтому дальше надо анализировать его. Так как мы начали с самого простого случая, то никаких дополнительных техник сокрытия не используется и вытащить JS-код из PDF’ки можно с помощью pdf-parser.py:

или с помощью PDF Stream Dumper. После чего сохранить в отдельный файл для последующего анализа. Следующим нашим шагом будет изучение кода скрипта и выделение из него шелл-кода для последующего анализа.

Исследование шелл-кода

Шелл-код в JavaScript обычно формируется при помощи функции unescape , в которую передается строка в юникоде. Для того чтобы шелл-код можно было проанализировать, необходимо восстановить обычный порядок байт для каждого символа. Это можно сделать либо с помощью вспомогательных утилит (например, с помощью Malzilla), либо прямо в консоли Linux:

где pdf-exp.txt — файл с исходным шелл-кодом, shellcode.bin — файл, в который будет записан преобразованный шелл-код. После этого можно приступить к его исследованию. Для этого можно воспользоваться тулзой sctest, входящей в библиотеку libemu:

Исследование шелл-кода при помощи sctest

После чего мы получим список всех API-вызовов, выполняемых из шелл-кода. Есть у sctest еще одна интересная возможность, о которой хотелось бы упомянуть, — с ее помощью исследуемый код можно представить в виде графа вызовов:

Иногда встречаются ситуации, когда для исследования приходится пользоваться обычным отладчиком. Перед этим надо написать небольшую вспомогательную программку, которая бы передавала управление на шелл-код, следующего вида:

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

Сжатые потоки

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

Если ты обратил внимание, когда мы говорили про структуру PDF-документа, мы сказали, что у объекта Stream может быть атрибут /Filter , который определяет, каким методом сжаты данные потока. Причем к потоку могут быть применены сразу несколько фильтров (например, /Filter [/Fl /Ahx] ). Что касается интересующего нас объекта JavaScript, то он, в свою очередь, должен содержать либо функцию, либо косвенную ссылку на код для выполнения. Поэтому зараженные файлы очень часто содержат JavaScript-объекты следующего вида: /JS (this.Z0pEA5PLzPyyw\(\)) . При этом простой поиск функции по имени ничего не даст, так как она скорей всего будет расположена в сжатом потоке. Чтобы получить распакованное содержимое потока, можно воспользоваться утилитой PDFtk:

После этого у нас появится файл uncompressed.pdf с распакованным содержимым, пригодным для дальнейшего анализа. Ну а дальше действуем по использованной выше схеме.

Обфусцированный JavaScript

К сожалению, так быстро проанализировать JavaScript-код и выдернуть из него шелл-код, как мы рассматривали до этого, в реальной ситуации не получится. Практически всегда, чтобы запутать антивирусы и усложнить жизнь исследователям, JavaScript-код обфусцируют. В таком случае определить, что он делает, и выделить в нем шелл-код становится уже не такой простой задачей. Деобфусцировать код можно несколькими способами. Можно, например, выполнить его в браузере и вывести через alert() преобразованный код. Или воспользоваться программкой SpiderMonkey, а точнее, ее модифицированной версией, которую можно взятьтут. В отличие от оригинальной версии, которая только интерпретирует JavaScript-код, данный мод позволяет логировать в файл вызовы функций eval() , document.write() , которые чаще всего используются в обфусцированном коде для приведения его в первоначальный вид. Таким образом, перехватив вызов этих функций и сохранив возвращаемый результат в файл, мы получим деобфусцированную версию кода, из которой, как и в предыдущих случаях, необходимо будет извлечь шелл-код и провести его анализ. Алгоритм действий таков:

  • сохраняем обфусцированный код в отдельный файл (например, sample.js );
  • запускаем его в SpiderMonkey — js sample.js ;
  • идем смотреть логи eval*.log , write*.log в поисках деобфусцированного кода;
  • разбираем полученный код и выделяем из него шелл-код.

Ну а дальше анализируем шелл-код и выясняем его функционал.

Эксплойт использует уязвимость в media.newPlayer (CVE-2009-4324)

PDF & SWF

До этого момента мы рассматривали только уязвимости, связанные с ошибками в движке JavaScript. Однако существует еще один вектор распространения вредоносных программ. Дело в том, что PDF-файлы можно использовать просто как «контейнеры»» для хранения и доставки пользователю зараженных SWF-файлов. Да, эти два популярных продукта приносят много хлопот Adobe, которой периодически приходится выпускать security-обновления :). Чтобы проанализировать вредоносные Flash-файлы, их надо предварительно вытащить из PDF-документа. Выполнить это можно при помощи утилиты SWF Mastah:

Опция -o отвечает за то, в какую директорию будут извлечены SWF-файлы. Для решения этой задачи можно также воспользоваться и программой PDF Stream Dumper. Как только SWF-файлы окажутся в указанной папке, их можно будет изучить, например с помощью утилит SWFREtools и SWF Investigator. К сожалению, анализ SWF-файлов нам придется оставить за рамками данной статьи.

Подопытные для анализа

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

Если не хочется ничего скачивать, то можно воспользоваться услугами Metasploit Framework. Запускаем msfconsole и выполняем следующие действия:

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

Таким образом, при помощи wget’а ( MARKDOWN_HASHd2cc360a8dce9a6c58ef159660c7830aMARKDOWN_HASH ) или браузера можно заполучить этот файл для дальнейшего анализа.

Подводя итоги

Сегодня мы познакомились с тем, каким образом можно проводить анализ зараженных PDF-файлов, и рассмотрели основные методы защиты вредоносного кода от исследования. Из-за пристального внимания к безопасности продуктов Adobe можно найти в Сети много инструментов, которые могут взять большую часть рутинной работы по анализу PDF’ок на себя. Так что ты всегда сможешь выбрать софт для решения той или иной задачи. Правда, от необходимости шевелить извилинами это тебя никак не избавит. Что касается меня, то мой файл оказался простой пустышкой. В нем не было ни JavaScript, ни встроенных SWF’ок — лишь только пара изображений и текст. Поэтому, немного разочарованный, я пошел дальше ждать своего халявного 0-day-эксплойта. Надеюсь, скоро пришлют :).

Document QR Code generator

The content of a dynamic QR Code can be changed everytime you want.

There’s no need to reprint the QR Code.

The content of a static QR Code cannot be changed

Please click here to create a free account

This website is not responsible for content uploaded by users.
Your IP: 188.64.174.13X

You aren’t logged in: if this QR Code not received visits in 5 days, it might be deleted.

5 бесплатных программ для работы c PDF

Большинству пользователей хватит бесплатных функций. Те, кого не устраивают ограничения, могут заплатить.

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

Большинство приложений можно отнести сразу к нескольким типам.

1. Sejda PDF

  • Тип: просмотрщик, редактор, конвертер, менеджер.
  • Платформы: Windows, macOS, Linux.

Очень интуитивная и удобная программа с впечатляющим количеством функций. Запустив Sejda PDF, вы сразу увидите все инструменты, сгруппированные по категориям. Выбирайте нужный, перетаскивайте в окно программы необходимый файл и приступайте к манипуляциям. Большинство действий c PDF в этом приложении можно выполнять за несколько секунд, даже если вы пользуетесь им впервые.

Что можно делать в Sejda PDF:

  • добавлять аннотации и выделять текст;
  • редактировать текст, добавлять изображения и формы;
  • конвертировать PDF в форматы Excel, JPG (и наоборот), Word (и наоборот);
  • объединять и разделять файлы по страницам, сжимать их размер;
  • защищать документы паролем;
  • добавлять водяные знаки;
  • обесцвечивать документы;
  • обрезать площадь страниц;
  • подписывать документы.

В бесплатной версии программы действуют ограничения. Например, файлы не должны иметь больше 200 страниц и превышать в размере 50 МБ. Кроме того, нельзя выполнять больше трёх операций с документами в течение суток. Стоимость полной версии Sejda PDF составляет 5,25 доллара в месяц.

2. PDFsam

  • Тип: менеджер, конвертер, редактор.
  • Платформы: Windows, macOS, Linux.

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

Что можно делать в PDFsam:

  • объединять PDF в нескольких режимах (склеивать по частям или перемешивать постранично);
  • разбивать PDF по страницам, закладкам (в местах с указанными словами) и размеру на отдельные документы;
  • поворачивать страницы (если некоторые из них были отсканированы вверх ногами);
  • извлекать страницы с указанными номерами;
  • конвертировать форматы Excel, Word, PowerPoint в PDF;
  • конвертировать PDF в форматы Excel, Word и PowerPoint (10 долларов);
  • редактировать текст и другое содержимое файлов (30 долларов).

3. PDF-XChange Editor

  • Тип: просмотрщик, менеджер, конвертер, редактор.
  • Платформы: Windows.

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

Что можно делать в PDF-XChange Editor:

  • добавлять аннотации и выделять текст;
  • редактировать текст и другое содержимое;
  • распознавать текст с помощью OCR;
  • извлекать страницы из документов;
  • шифровать документы (платно);
  • конвертировать PDF в форматы Word, Excel и PowerPoint и наоборот (платно);
  • сжимать файлы (платно);
  • сортировать страницы в любом порядке (платно).
Илон Маск рекомендует:  Семантическая верстка понятие и примеры семантического кода

Это далеко не все функции, которые вы можете найти в PDF-XChange Editor. Программа доступна в нескольких вариантах с разным количеством возможностей. Стоимость платных версий начинается с 43,5 доллара.

4. Adobe Acrobat Reader

  • Тип: просмотрщик, менеджер, конвертер, редактор.
  • Платформы: Windows, macOS, Android, iOS.

Популярная универсальная программа для работы с PDF от компании Adobe. Бесплатная версия представляет собой весьма удобный просмотрщик документов, остальные функции доступны по подписке по цене от 149 рублей в месяц.

Что можно делать в Adobe Acrobat Reader:

  • просматривать документы, выделять и комментировать текст, искать слова и фразы;
  • подписывать документы (платно);
  • редактировать текст и другое содержимое (платно);
  • объединять документы в один файл (платно);
  • сжимать файлы (платно);
  • конвертировать PDF в форматы Word, Excel и PowerPoint (платно);
  • преобразовывать изображения форматов JPG, JPEG, TIF и BMP в PDF (платно).

Все эти и другие функции доступны в десктопных вариантах Adobe Acrobat Reader. Мобильные версии программы позволяют только просматривать и аннотировать документы, а также — после оформления подписки — конвертировать их в разные форматы.

Как прочитать qr код из pdf. Программы для распознавания

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

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.

Для тех, кто не в курсе что такое QR код , есть в английской Wikipedia. Также можно почитать тематический блог на Хабре и несколько хороших статей по смежной тематике, которые можно найти поиском .

Решение задачи непосредственного чтения информации с QR-картинки рассмотрим на примере двух кодов. Информация была закодирована в online-генераторе QR Coder.ru .

Чтобы понять, как извлечь данные из кода, нужно разобраться в алгоритме. Существует несколько стандартов в семействе QR кодов, с их базовыми принципами можно ознакомиться в спецификациях. Кратко поясню: данные, которые необходимо закодировать, разбиваются на блоки в зависимости от режима кодирования. К разбитым по блокам данным прибавляется заголовок, указывающий на режим и количество блоков. Существуют и такие режимы, в которых используется более сложная структура размещения информации. Данные режимы рассматривать не будем ввиду того, что извлекать вручную из них информацию нецелесообразно. Однако, основываясь на тех принципах, которые описаны ниже, можно адаптироваться и к этим режимам.

На случай некорректного чтения данных, в QR применяются специальные коды, которые способны исправить недочёты при чтении. Это так называемые коды Рида-Соломона . Принцип вычисления кодов, а также исправление ошибок в блоках информации рассматривать не будем, это тема отдельной статьи. Корректирующие ошибки коды Рида-Соломона (RS) записываются после всех информационных данных. Это очень упрощает задачу непосредственного чтения информации: можно просто считать данные, не трогая коды. Как показывает практика, обычно бОльшую часть QR -матрицы занимают корректирующие RS-коды.

По стандарту, данные с RS-кодами перед записью в картинку «перемешиваются». Для этих целей используют специальные маски. Существует 8 алгоритмов, среди которых выбирается наилучший. Критерии выбора основаны на системе штрафов, о которых можно также почитать в спецификации.

«Перемешанные» данные записываются в особой последовательности на шаблонную картинку, куда добавляется техническая информация для декодирующих устройств. Исходя из описанного алгоритма, можно выделить схему извлечения данных из QR кода:

Здесь зелёным фломастером подчёркнуты пункты, которые нужно будет выполнить при непосредственном чтении кода. Остальные пункты можно опустить ввиду того, что считывание производит человек.

Шаг 0. QR код

Взглянув на картинки, можно заметить несколько отчётливых областей. Эти области используются для детектирования QR кода. Эти данные не представляют интереса с точки зрения записанной информации, но их нужно вычеркнуть или просто запомнить их расположение, чтобы они не мешали. Всё остальное поле кода несёт уже полезную информацию. Её можно разбить на две части: системная информация и данные. Также существует информация о версии кода. От версии кода зависит максимальный объём данных, которые могут быть записаны в код. При повышении версии – добавляются специальные блоки, например как здесь:

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

Размещение системной информации показано на рисунке:

Системная информация дублируется, что позволяет значительно понизить вероятность возникновения ошибок при детектировании кода и считывании. Системная информация – это 15 бит данных, среди которых первые 5 — это полезная информация, а остальные 10 — это BCH (15,5) код, который позволяет исправлять ошибки в системных данных. К классу BCH кодов относят и RS коды. Обратите внимание, что на рисунке две полоски по 15 бит не пересекаются.

Шаг 1. Чтение 5 бит системной информации

Шаг 2. Маска для системной информации

Возможные уровни коррекции ошибок:

L 01
M 00
Q 11
H 10
000 (i + j) mod 2 = 0
001 i mod 2 = 0
010 j mod 3 = 0
011 (i + j) mod 3 = 0
100 ((i div 2) + (j div 3)) mod 2 = 0
101 (i j) mod 2 + (i j) mod 3 = 0
110 ((i j) mod 2 + (i j) mod 3) mod 2 = 0
111 ((i+j) mod 2 + (i j) mod 3) mod 2 = 0

Шаг 3. Чтение заголовка данных

Список возможных режимов:

P.S. Соблюдайте правила ресурса и условия Creative Commons Attribution 3.0 Unported (CC BY 3.0)

P.P.S. Если ошибся блогом, то подскажите куда — перенесу.

Теги: Добавить метки

Перед тем как сканировать QR код на гаджете с Андроидом, нужно скачать соответствующее приложение. Программ для распознавания этого двумерного шифра на Play Market очень много. Какую же из них выбрать?

Приложения для распознавания

Data-lazy-type=»image» data-src=»http://andro > Среди разнообразия софта для чтения QR-кода выгодно выделяются следующие 5 программ:

  1. QR Droid . После открытия приложения можно сразу начать считывание шифра. При наличии в нем url-адреса автоматически откроется встроенный браузер. Предусмотрено отключение этой функции в настройках приложения. С помощью QR Droid можно не только расшифровать коды, но и создать собственные. Для этого нужно выбрать соответствующий пункт в меню приложения.
  2. BIDI . Эта программа для считывания QR-кодов удобна для Андроида и похожа на предыдущую. Здесь есть функция размещения созданного сервисом шифра на визитной карточке, шаблон которой доступен в меню.
  3. QR Code Reader . Лаконичное приложение с историей расшифровки и кнопкой вспышки. Распознает информацию через камеру или отсканирует готовое изображение из галереи. Сервис может как считывать QR, так и создавать.
  4. Neo Reader . Эту программу используют не только для распознавания QR, но и для расшифровки штрих-кодов. Если приложению не удалось просканировать информацию, можно самостоятельно ввести цифры, написанные под шифром. Есть опция привязки к местоположению и регулировка уровня звука. Распознавание QR этим сервисом происходит очень быстро. Собственные коды с помощью Neo Reader создать нельзя, но в качестве альтернативы приложение предлагает пользователю линк на соответствующий ресурс.
  5. QR Reader . Программа с оригинальным интерфейсом. Сканером удобнее пользоваться в горизонтальном режиме. Функция работает так же, как и у предыдущих программ: после запуска приложения нужно поднести мобильное устройство к матричному изображению и дождаться расшифровки. Есть история распознанных шифров, закладки и возможность создавать собственные коды.

Применение шифров

Data-lazy-type=»image» data-src=»http://andro > QR отличается от штрих-кода большей областью применения. Его используют во многих сферах — от рекламы до развлечений. Таким видом кодирования можно зашифровать url-адреса сайтов, информацию о произведении искусства (картине, скульптуре) или линк на свою страницу в социальной сети. Но для чего это нужно, и как пользоваться QR кодом?

Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме. В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин. Решение задачи непосредственного чтения информации с QR-картинки рассмотрим на примере двух кодов.
Чтобы понять, как извлечь данные из кода, нужно разобраться в алгоритме. Существует несколько стандартов в семействе QR кодов, с их базовыми принципами можно ознакомиться в спецификациях. Кратко поясню: данные, которые необходимо закодировать, разбиваются на блоки в зависимости от режима кодирования. К разбитым по блокам данным прибавляется заголовок, указывающий режим и количество блоков. Существуют и такие режимы, в которых используется более сложная структура размещения информации. Данные режимы рассматривать не будем, в виду того, что извлекать вручную из них информацию нецелесообразно. Однако, основываясь на тех принципах, что описаны ниже, можно адаптироваться и к этим режимам. На случай некорректного чтения данных в QR применяются специальные коды, которые способны исправить недочёты при чтении. Это так называемые коды Рида-Соломона . Принцип вычисления кодов, а также исправление ошибок в блоках информации рассматривать не будем, это тема отдельной статьи. Корректирующие ошибки коды Рида-Соломона (RS) записываются после всех информационных данных. Это очень упрощает задачу непосредственного чтения информации: можно просто считать данные, не трогая коды. Как показывает практика, обычно бОльшую часть QR -матрицы занимают корректирующие RS-коды.

По стандарту, данные с RS-кодами перед записью в картинку «перемешиваются». Для этих целей используют специальные маски. Существует 8 алгоритмов, среди которых выбирается наилучший. Критерии выбора основаны на системе штрафов, о которых можно также почитать в спецификации. «Перемешанные» данные записываются в особой последовательности на шаблонную картинку, куда добавляется техническая информация для декодирующих устройств. Исходя из описанного алгоритма, можно выделить схему извлечения данных из QR кода:
Здесь зелёным фломастером подчёркнуты пункты, которые нужно будет реализовать при непосредственном чтении кода. Остальные пункты можно опустить в виду того, что считывание производит человек.

Шаг 0. QR код

Шаг 1. Чтение 5 бит системной информации

Шаг 2. Маска для системной информации

Кроме уже озвученных схем зашиты системной информации, в добавок, используется статическая маска, которая применяется к любой системной информации. Она имеет вид: 101010000010010 . Так как имеет интерес только первые 5 бит, то маску можно сократить и легко запомнить: 10101 (десять-сто один). После применения операции «исключающего или» (xor) получаем информацию. Возможные уровни коррекции ошибок:

L 01
M 00
Q 11
H 10

Возможные маски:

000 (i + j) mod 2 = 0
001 i mod 2 = 0
010 j mod 3 = 0
011 (i + j) mod 3 = 0
100 ((i div 2) + (j div 3)) mod 2 = 0
101 (i j) mod 2 + (i j) mod 3 = 0
110 ((i j) mod 2 + (i j) mod 3) mod 2 = 0
111 ((i+j) mod 2 + (i j) mod 3) mod 2 = 0

Шаг 3. Чтение заголовка данных

Шаг 4. Применение маски к заголовку

Шаг 5. Чтение данных

Спецификация:

Удобная бесплатная программа для считывания и создания QR-кодов (штрихкодов). Приложение позволяет считывать информацию QR-кода из графического файла, с экрана монитора и с веб-камеры.

Программа CodeTwo QR Code Desktop Reader это очень удобное приложение, которое позволит Вам без использования специальных устройств получить всю зашифрованную информацию в штрихкоде формата QR-code.

Данный стандарт хранения данных давно завоевал популярность в различных сферах промышленности, торговли, транспорта и многих других. Он представляет собой матричный код (двумерный штрихкод) зашифрованный в графическом изображении небольшого размера. В такой картинке может содержаться текстовая информация достаточно существенного объема.

Для загрузки в программу изображения с QR-кодом использовать различные типы источников и методы.

CodeTwo QR Code Desktop Reader поддерживает считывание QR-кода:

С экрана (From Screen)

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

С Веб-камеры (From webcam)

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

Из файла (From file)

С помощью проводника Windows указать на нужный файл цифрового изображения с зашифрованной QR-информацией. Поддерживаются BMP, JPG, TIFF, GIF и PNG форматы.

Из буфера обмена (From clipboard)

Программа распознает QR-данные из файла, который в данный момент находиться в буфере обмена.

QR-код генератор

Программа CodeTwo QR Code Desktop Reader является не только инструментом для считывания QR-code, а также способна сама генерировать зашифрованный графический штрихкод из Ваших данных. Для этого нужно воспользоваться соответствующим пунктом главного меню приложения «Режим Генератор (Generator mode on)». В окне для ввода текста «QR code text» набрать необходимую информацию и сохранить получившееся изображение в один из форматов графических файлов «Save as».

Максимальный объем современного стандарта кодирования QR-code вмещает:

  • Цифр 7089
  • Латинских символов 4296
  • Кириллица
    • В Windows-1251 кодировке 2953 символа
    • В UTF-8 кодировке 1450 символов

Здравствуйте, уважаемые читатели блога сайт. При написании прошлой статьи про обнаружил на их главной странице, еще не ставший привычным, хитрый код для смартфонов. Сам недавно познакомился с этой темой и поэтому сегодня хочу поговорить о такой вещи, как QR-коды.

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

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

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

Предназначение QR-кодов и их использование

QR-коды — это прежде всего удобство. Но давайте посмотрим, как можно самим их создавать в онлайн генераторах, а так же считывать и расшифровывать на ваших сотовых телефонах. Ну, и в силу принадлежности этого блога к тематике вебмастеринга рассмотрим плагины для WordPress, которые позволят отображать на каждой странице сайта barcode с ее URL адресом, например, для добавления ее в закладки смартфона.

Выглядит эта вариация баркода примерно так:

Представляет он из себя изображение, на котором, как правило, всегда можно выделить три больших квадрата . Они служат ориентирами при расшифровки кода программами для его считывания — помогают определить уровень наклона и четко привязаться к масштабу. Раньше повсеместно использовался более простой одномерный (линейный) barcode (штрих-код):

С помощью штрих-кода можно зашифровать всего лишь от 20 до 30 символов и этого вполне хватало, например, для нужд . QR же является одной из разновидностей двухмерного баркода и позволяет существенно увеличить объем заключенной в нем информации. В идеале с его помощью можно перевести в относительно небольшое изображение до двух с половиной печатных страниц текста.

В реальности же кодируют от нескольких десятков до сотен символов , ибо большее количество может вызвать сложности в расшифровке мобильными телефонами в неидеальных условиях. К тому же до 30 процентов информации может быть отдано на избыточность, которая позволит расшифровать QR-код даже при его частичном повреждении или в плохих условиях.

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

Мода на QR-коды потихоньку захлестывает и постсоветское пространство. Во всяком случае на сайтах или в метро-рекламе эти замысловатые картинки встречаются уже довольно часто. Да и на визитке разместить barcode будет хорошим решением, позволяющим одним кликом добавить все ваши координаты в мобильный телефон вашего потенциального партнера (программа сканера не только расшифрует закодированную информацию, но и отправит данные в контакты или откроет ссылку в браузере):

Если вы, например, захотели добавить интересную статью в закладки сотового (для его прочтения в дороге), то для всех современных браузеров предусмотрены дополнения и плагины, позволяющие закодировать URL адреса в QR, а затем вы сможете его считать камерой мобильного телефона и указанная страница будет открыта в мобильном браузере. Тоже самое касается выделенных фрагментов текста.

Как создать QR-код — онлайн генераторы

Чуть выше мы рассмотрели генераторы интегрированные в браузеры, но гораздо более функциональными выглядят их онлайн версии, которые могут закодировать нужную вам информацию (URL адрес, текст, личные данные с визитной карточки, SMS, номер телефона и т.п.) и создать картинку нужного вам размера. Результирующее изображение barcode вы сможете сохранить на своем компьютере или получить на него ссылку.

QR Hacker — служит для создания эксклюзивных изображений с баркодами, которые вы сможете раскрасить, скруглить им углы и даже добавить свой логотип. Т.к. в этой технологии изначально заложена избыточность кода (до 30%), то данные издевательства не приведут к потере информации.

Сначала в левой панели генератора выбираете тип данных — это нужно, чтобы программа расшифровщик в вашем мобильнике знала, чего с этими данными делать в дальнейшем — открывать ссылку в браузере, показывать текст, добавлять данные в контакты или еще чего-то делать. На следующем шаге в расположенной чуть ниже форме вводите то, что вы хотите закодировать (в моем случае это URL — https://сайт) и жмете на кнопку «Generate».

В окне редактора появится обычный черно-белый QR-код, который можно будет либо сохранить в таком виде, либо разукрасить. Все инструменты редактора находятся в правой панели. Если рассматривать их сверху вниз, то сначала идет движок скругления углов у элементов, потом инструменты для задания фона цветом, либо загрузки и настройки прозрачности фонового изображения.

Ну, а чуть ниже расположены инструменты для раскраски самих элементов (прям как детские раскраски Пет Шоп) и размещения логотипа на поверхности создаваемого баркода. Под изображением, над которым вы издеваетесь, расположена цветовая шкала, которая косвенно характеризует его читаемость. На приведенном чуть выше скриншоте читаемость находится на грани, хотя мой телефон с установленной программой расшифровки I-nigma (созвучно, с , не правда ли) справился с этой задачей на ура.

QR Coder.ru — простенький генератор barcode с интерфейсом на русском языке. Сначала следует выбрать тот тип информации, который вы хотите зашить в картинку (текст, визитка, SMS или URL) для того, чтобы программа для считывания предложила бы вам нужные варианты дальнейших действий. Например, в случае визитки вам будет предложено заполнить следующие поля:

Для ссылок это будет открытие в браузере, а для данных визитной карточки — сохранение в контактах (либо набрать номер из визитки):

Qrmania.ru — еще один русскоязычный генератор QR-кодов с несколько более расширенным функционалом, который в первую очередь связан с большим разнообразием типов информации, которую можно закодировать и цветовыми настройками итоговой картинки:

Имеет место быть возможность кодирования E-mail адреса и целого почтового сообщения с указанием адресата, темы и текста письма. Кроме этого можно закодировать номер телефона (было бы удобно, если бы девушки носили значки или сумки с таким баркодом), Твиттер сообщения и даже координаты на Google картах. Чума!

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

  • Qrcc.ru — менее пафосный, но тоже функциональный русский онлайн генератор с возможностью заказа печати созданного QR-кода на шмотках и вещах.
  • Есть еще несколько генераторов от сервиса Kaywa (один и второй), которые ничем особенным не выделяются, но имеют место быть.
  • Есть свой создатель баркодов и у разработчиков популярного мобильного сканера i-nigma .
  • Ах, да, еще один буржуйский сервис Goqr.me стоит упомянуть, ибо дизайн приятный. Ну, и хватит, пожалуй.
  • Да, я в начале статьи заикался о , которые бы позволяли генерировать на лету QR для страниц вашего блога. Почти уже забыл об этом, но все же приведу ссылку на страницу автора этих плагинов . Сам я еще не осознал необходимости прикручивания barcode для всех страниц блога, но, возможно, со временем передумаю.

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

    Как расшифровать баркод — программы и онлайн сервисы

    Другой вопрос — чем можно расшифровать такие замысловатые картинки на мобильном телефоне. Набор подобных программ довольно велик и многое будет зависеть от типа вашего телефона, а точнее от той ОС, на базе которой он работает (Андроид, Ios и т.п.).

    Лично я юзаю телефон Нокиа E72 и больше всего мне понравилась I-nigma — просто переходите с сотового по этой ссылке, сайт разработчиков автоматически сам определит тип вашего аппарата и предложит закачать программу для считывания и расшифровки QR-кодов. Поддерживается, по-моему, все, что только можно придумать (в плане моделей телефонов). Скриншот работы I-nigma вы сможете найти чуть выше по тексту.

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

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

    Да, еще стоит упомянуть десктопную программу , ибо тоже имеет право на жизнь. Называется она BarCapture .

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

    Ну, и теперь самое время переходить к наиболее популярным программам считывания и расшифровывания баркода для мобильных телефонов :

    1. I-nigma — уже упоминал эту программу, которая существует для разных мобильных платформ
    2. Barcodes Scanner — популярное приложение, которое существует в вариации для Андроида и для Ios.
    3. QuickMark — подойдет практически для любого мобильного устройства
    4. BeeTagg — еще одна универсальная программа для сканирования и распознавания QR-кода, подходящая для огромного числа моделей мобильников
    5. UpCode — опять же мультлатформенный сканер и дешифратор
    6. Neo Reader — ну, вы поняли
    7. Расшифровать QR-код самому — статья на Хабре о том, как обойтись без программ для считывания

    Ну, и хочу попрощаться в нетрадиционной манере:

    Удачи вам! До скорых встреч на страницах блога сайт

    посмотреть еще ролики можно перейдя на

    Вам может быть интересно

    Dropbox — как пользоваться облачным хранилищем данных, а так же работа с программой Дропбокс на компьютере и в мобильном OneDrive — как пользоваться хранилищем от Microsoft, удаленный доступ и другие возможности бывшего SkyDrive
    Как онлайн сделать надпись на фото или наложить текст на картинку
    Закладки в браузере Яндекса, Гугл Хром и Фаерфорс, а так же виртуальные онлайн-закладки
    Онлайн FTP клиент Net2ftp и Google Alerts — полезный сервисы для вебмастеров

    Илон Маск рекомендует:  Что такое код asp totalbytes

    Что такое код pdf_show

    Пострадальцев таких немало (всякой и разной печатности у нас выходит прилично), так что разбираться с каждым по отдельности — это никакого времени не хватит. Поэтому возникла идея сделать что-то вроде инструкции/методички: «Как проверить PDF с версткой на совместимость с PDF/A-стандартом, а потом конвертировать его в PDF/A».
    В Акробате как раз такая возможность есть — его Preflight, где в числе прочего есть пункт «Verify compliance with PDF/A». Надо только настроить профиль именно на это дело — проверку издательских PDF с версткой.

    Покопал в Сети, нашел вот такой материал — www.publish.ru/articles/201306_20013064. Там дается достаточно неплохая пошаговая инструкция, как сделать Preflight-профиль для допечатной проверки сверстанных PDF. Если к ней еще сделать что-то аналогичное, но для проверки на PDF/A-совместимость, то IMHO получится достаточно неплохая рабочая база.
    И вот здесь как раз нужна помощь — понять какие пункты в профиле для «Verify compliance with PDF/A» надо отметить и какие настройки там требуется поставить. Чтобы в результате проверки с такими настройками перекрыть большую часть возможных «граблей» по совместимости с PDF/A.

    1. Macshop , 18.05.2020 03:31
    Идете стандартным путем. Выводите .ps. А потом дистиллируете в PDF/A. Все ИМХО.

    , 18.05.2020 09:11 Rainhaart
    Начать исследование вопроса с Вики не мелькнула мысль?
    Я вот открыл и сразу увидел ссылку на бесплатный (более того — свободный) софт для проверки.

    3. Rainhaart , 18.05.2020 12:53
    Macshop
    Идете стандартным путем. Выводите .ps. А потом дистиллируете в PDF/A. Все ИМХО.
    Именно так и делают мои знакомые, которые работают в издательстве. Но при этом все равно периодически получают вопли РГБ-шной системы проверки со списком ошибок в присланных PDF, которые надлежит исправить.
    Видимо сам по себе этот путь полного успеха не гарантирует, потом еще нужно проверить PDF на потенциальных «блох». Которые у не очень опытных верстальщиков таки бывают. Вот инструкцию для такой проверки и хочется создать — очень многим бы жизнь облегчила.

    Начать исследование вопроса с Вики не мелькнула мысль?
    Каюсь, не мелькнула — не так уж и часто ею пользуюсь. Но посмотрел тамошнюю статью по PDF/A — никаких ссылок на софт в ней не нашел.

    , 18.05.2020 13:41 Rainhaart
    не так уж и часто ею пользуюсь
    А зря.

    посмотрел тамошнюю статью по PDF/A — никаких ссылок на софт в ней не нашел.
    Очень странно. Надеюсь, вы смотрели в английскую Вики, не в русскую?

    5. Rainhaart , 18.05.2020 16:28

    Надеюсь, вы смотрели в английскую Вики, не в русскую?
    Именно что в русскую. Сейчас посмотрел куда надо — сколько я понимаю, меня должен интересовать veraPDF?

    Добавление от 18.05.2020 17:36:

    Скачал его с verapdf.org/software, посмотрел, что там внутри.
    Проблема номер раз — там не обычный ЕХЕ-шник, а JAR-файл. Посмотрел внутрь этого архива, но так и не понял, что с его содержимым надо дальше делать. Проблема номер два — когда я щелкаю по по verapdf-install.bat, то в ответ получаю сообщение: «java не является внутренней или внешней командой, исполняемой программой или пакетным файлом».

    Что со всем этим дальше делать?

    Добавление от 18.05.2020 17:36:

    Скачал его с verapdf.org/software, посмотрел, что там внутри.
    Проблема номер раз — там не обычный ЕХЕ-шник, а JAR-файл. Посмотрел внутрь этого архива, но так и не понял, что с его содержимым надо дальше делать. Проблема номер два — когда я щелкаю по по verapdf-install.bat, то в ответ получаю сообщение: «java не является внутренней или внешней командой, исполняемой программой или пакетным файлом».

    Что со всем этим дальше делать?

    Установить предварительно JRE (Java Runtime Environment), он необходим для работы данного инсталлятора, написанного на Java.

    6. WarRior82 , 18.05.2020 20:35
    7. НеСпециалист , 18.05.2020 22:54
    Ну вообще-то «корпоративным подручным стандартом» считается Enfocus Pitstop для Adobe Acrobat-а. Очень недешёвый, равно как и сам Acrobat.
    А если спросить у Гугла (https://www.google.ru/search?q=%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D1%82%D1%8C+pdf+%D0%BD%D0%B0+%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B5&rlz=1C1NHXL_enRU712RU712&oq=%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D1%82%D1%8C+pdf+%D0%BD%D0%B0+%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B5+&aqs=chrome..69i57.10471j0j7&source >
    8. Macshop , 18.05.2020 23:36
    Rainhaart

    цитата: потом еще нужно проверить PDF на потенциальных «блох». Которые у не очень опытных верстальщиков таки бывают.

    цитата: Именно так и делают мои знакомые, которые работают в издательстве.

    Вы сделайте сначала это у себя. Отрегулируйте техпроцесс. А пойдут ошибки, езжайте в РГБ и там на месте начинайте проверять. Должны у них быть нормальные спецы. Наверняка ошибки будут системными, которые повторяются из файла в файл. Так всегда делалось с препрессом типографий. Вы должны понимать, что это живой процесс и ошибки всегда возможны. Но без расшифровки ошибок вы ничего не сделаете.

    Искать нужно понимания в РГБ, а не в конфе.
    Здесь единственный профи в этой теме- это НеСпециалист. ИМХО. Большинство других спецов- на уровне пдф из ворда Не хочу никого обижать

    Я просто уже года три этим не занимаюсь, так что навык немного утерян. До этого 15 лет по разным газетам и журналам препрессником регулярно работал

    9. НеСпециалист , 19.05.2020 09:54
    Rainhaart
    Подозреваю, что кроме прямого «тупого» соответствия требованиям «электронного формата» проверяется ещё и кое что другое:
    — вылеты за обрез (если есть)
    — расстояние до обреза значимых элементов
    — сумма красок
    — применение черного/составного черного, в том числе на тексте
    — минимальная толщина линий
    — минимальный размер шрифта, в том числе вывороткой
    (это вот так бегом)

    К тому же фраза «закон, который требует от издательств» и последующая за ней фраза «описание ошибок обычно идет на таком невнятном языке, что из сообщения практически невозможно понять в чем же там дело и что именно требуется исправить» как то не очень сочетаются в моём понимании. «Издательства» должны понимать претензии, как мне кажется (хотя я выдывал людей, писавших в резюме «опыт работы в издательстве», но не замечающих «в упор» простых вещей. ). Нет, я не исключаю того, что «есть многое на свете, друг Горацио, чего без трёх поллитров не поймёшь», но.

    Macshop
    Вы мне льстите.

    , 19.05.2020 12:52

    НеСпециалист
    что кроме прямого «тупого» соответствия требованиям «электронного формата» проверяется ещё и кое что другое:
    — вылеты за обрез (если есть)
    — расстояние до обреза значимых элементов
    — сумма красок
    .

    Это может проверяться где-нибудь в типографиях, но только не в РГБ. ИМХО.

    Добавление от 19.05.2020 12:53:

    Rainhaart
    описание ошибок обычно идет на таком невнятном языке, что из сообщения практически невозможно понять в чем же там дело и что именно требуется исправить
    Примерами не поделитесь?

    11. НеСпециалист , 19.05.2020 13:35
    Ну, вообще говоря, в требованиях у макетам несколько БОЛЬШЕ написано, чем нам тут рассказывают.
    Да, не «типографское», но и не «вот вам просто так PDF/А»

    , 19.05.2020 14:05

    НеСпециалист

    цитата: Цветовое пространство RGB

    13. НеСпециалист , 19.05.2020 14:33

    А я где-то писал про цветовое пространство?

    14. Rainhaart , 19.05.2020 18:35
    Macshop
    Проблема не в верстальщиках. Все уже отлажено на уровне макета.
    Это когда отлажено. А когда нет?
    По той ссылке, которую я давал в первом сообщении, описывается немало потенциальных «блох», которые могут возникнуть в верстке — как раз если верстальщик не очень опытен в своем деле. Точнее так — проблемы здесь не обязательно именно в самой верстке, а в связке «верстка плюс преобразование PDF с ней в PDF/A». Уж где именно в этой цепочке возникнет — для данного конкретного PDF не всегда предсказуемо.
    В любом случае какие-то проблемные места явно обнаруживаются, иначе бы от РГБ-шной системы проверки не шли бы отказы.

    Вы сделайте сначала это у себя.
    Мне этой головоморокой с PDF/A, слава богу, заниматься не приходится — я по другой линии работаю. Но зашел недавно к своему старому знакомому из РГБ и узнал, что как раз на их отдел повесили всю эту головную боль с обязательным экземпляром и письмами по поводу него. И просто жалко людей стало — с этими сообщениями не всякий специалист разберется, а там обычный офисный народ, разве что с библиотечным уклоном.
    Приходит к ним куча писем — «Помогите!», «Что нам здесь и здесь делать?!», «В чем ошибка в наших PDF?» — а что они толком ответить могут? Вот несколько характерных сообщений от тамошней системы проверки:

    Ваш PDF не может быть принят, поскольку в нем следующие ошибки:

    — Максимальная вместимость словаря (по записям) равна 4095;

    — Абсолютное реальное значение должно быть меньше или равно 32767.0;

    — Словарь аннотаций должен включать ключ F. Флаговый бит Print (печать) ключа F следует установить на 1 и его флаговые биты Hidden (скрытый), Invisible (невидимый) и NoView (нет отображения) следует установить на 0;

    — Словарь XObject не должен содержать ключ SMask.

    Исправьте эти ошибки и вышлите PDF заново.

    «Для всех подмножеств шрифта формата CIDFont, упомянутых в рамках соответствующего файла, словарь дескриптора шрифтов должен включать поток CIDSet, идентифицирующий, какие CIDs присутствуют во вложенном файле СIDFont, как описано в cпецификации PDF Таблица 5.20»

    «Все цветовые пространства ICCBased встраиваются в качестве потока профиля ICC, как указано в cпецификации PDF 4.5. Количество цветовых компонентов в цветовом пространстве, описываемого данными профиля ICC должно соответствовать реальному количеству компонентов в профиле ICC. Как в пункте PDF 1.4, N должно быть равно 1, 3, или 4»

    «Следующие ключи, если они присутствуют в объекте ExtGState, должны иметь следующие значения: CA — 1.0»

    Читаю все это и просто не представляю, что в них от людей хотят. Поэтому и пришла в голову мысль делать проверку таких вот PDF на Preflight. Который диагностические сообщения выдает не в пример более внятно.
    Но там сначала надо что-то вроде методички по проверке, делать, которую методичку я здесь и затеял.

    Искать нужно понимания в РГБ, а не в конфе.
    Искать надо у людей, которые хорошо разбираются в PDF. В РГБ с этим не очень, вот и ищу таких, где могу.
    Если знаете какие-то стоящие места для моего вопроса — подскажите, буду весьма признателен.

    Это может проверяться где-нибудь в типографиях, но только не в РГБ.
    В РГБ проверяется конечный результат — соответствует или не соответствует. А причины «не соответствует» могут откуда угодно придти, в том числе и от перечисленного НеСпециалист.

    НеСпециалист
    Подозреваю, что кроме прямого «тупого» соответствия требованиям «электронного формата» проверяется ещё и кое что другое:
    Там вообще непонятно, что же именно проверяется. Формально — соответствие формату/стандарту PDF/A. А что именно в реальности разработчики заложили — сплошное ХЗ.

    К тому же фраза «закон, который требует от издательств» и последующая за ней фраза «описание ошибок обычно идет на таком невнятном языке, что из сообщения практически невозможно понять в чем же там дело и что именно требуется исправить» как то не очень сочетаются в моём понимании.
    Сочетаются, как мне удалось выяснить от своего знакомого, очень просто.
    На РГБ свалили работу по приемке обязательного экземпляра. Для этого их разработчики сделали систему приема и проверки этого самого обязательного экземпляра, которая на пилотных испытаниях работала вполне нормально. Когда в нее пошел не тестовый, а уже рабочий поток PDF, выяснилось, что на проблемные PDF выдается такая вот ахинея.
    Но к этому времен разработчики уже переключились на другой проект, по уши заняты именно им и на вопросы «Что все это значит и что надо делать при таком-то и таком-то сообщении?» почти что не реагируют.
    IMHO достаточно обычная история для большой организации с кучей отделов и начальников.

    Так что получается что-то вроде классического: «Спасение утопающих — дело рук самих утопающих».
    Вот и пытаюсь людям чем могу помочь.

    , 19.05.2020 20:53

    Rainhaart
    Вот несколько характерных сообщений от тамошней системы проверки:
    Ставлю 50 кибер-рублей на то, что это есть выхлоп veraPDF, грамотно или не очень переведенный на русский.

    надо что-то вроде методички по проверке, делать, которую методичку я здесь и затеял.
    ИМХО методичка ваша должна быть очень простой. «Для изготовления обязательного экземпляра использовать исключительно ПО, в полном объеме поддерживающее стандарт PDF/A версии такой-то». Кстати, уж версию стандарта, на которую настроена система проверки, ваши знакомые просто обязаны из разработчиков оной выцарапать.

    Методичку «PDF/A для чайников» у вас сделать никак не получится. Стандарт сам по себе описан техническим языком, а не художественным, там речь именно про «словари» и «флаги». Так что у ваших несчастных знакомых из РГБ выхода ровно два: либо обучаться, либо брать на работу специалиста и платить ему деньги.

    17. Rainhaart , 20.05.2020 22:29

    Ставлю 50 кибер-рублей на то, что это есть выхлоп veraPDF, грамотно или не очень переведенный на русский.
    Похоже вы выиграли.

    Я прогнал через veraPDF случайный файл с какой-то книгой и он выдал мне в отчете следующее:

    Validation information
    Rule

    Specification: ISO 19005-1:2005, Clause: 6.7.11, Test number: 1
    The PDF/A version and conformance level of a file shall be specified using the PDF/A Identification extension schema.
    Failed 1 occurrences

    Specification: ISO 19005-1:2005, Clause: 6.3.6, Test number: 1
    For every font embedded in a conforming file and used for rendering, the glyph width information in the font dictionary and in the embedded font program shall be consistent.
    Failed 1 occurrences

    Specification: ISO 19005-1:2005, Clause: 6.2.3, Test number: 2
    DeviceRGB may be used only if the file has a PDF/A-1 OutputIntent that uses an RGB colour space
    Failed 2 occurrences

    Specification: ISO 19005-1:2005, Clause: 6.4, Test number: 2
    An XObject dictionary shall not contain the SMask key
    Failed 2 occurrences

    IMHO это что-то достаточно похожее на выдачу РГБ-шной системы проверки. Например, для двух последних сообщений у меня есть следующие их аналоги на русском:

    1. «Компонент DeviceRGB может использоваться только тогда, когда файл имеет вывод намерений OutputIntent PDF/A-1, который использует цветовое пространство RGB».
    2. «Словарь XObject не должен содержать ключ SMask».

    Как вы полагаете, можно это считать оригиналом и переводом?

    ИМХО методичка ваша должна быть очень простой. «Для изготовления обязательного экземпляра использовать исключительно ПО, в полном объеме поддерживающее стандарт PDF/A версии такой-то».
    То есть тот же, например, Акробат, который народ по большей части и так у себя использует. И с созданных в нем файлов периодически имеет обломы с системой проверки.
    Выходит, что одного «правильного» софта здесь маловато, нужен еще и «правильный» PDF на входе.

    Кстати, уж версию стандарта, на которую настроена система проверки, ваши знакомые просто обязаны из разработчиков оной выцарапать.
    Она пока вроде бы нигде явно не прописана и, что называется, слава богу. Там ведь или PDF/A-1a или PDF/A-1b, а последний делать не в пример проще, требования не такие жесткие. Проверку же PDF/A-1b вполне проходит, уже выяснили.
    Если же начать тамошний народ тормошить на предмет «какая именно версия», то вполне могут додуматься ужесточить требования до PDF/A-1a.

    Методичку «PDF/A для чайников» у вас сделать никак не получится.
    Да пока что и не требуется подробной методички «Как делать» — вполне достаточно краткой инструкции «Как проверить уже сделанное». А для этого всего лишь надо прописать в профиле Preflght-проверки нужные параметры — там не их так уж и много, где-то десятка полтора.
    В общем сделать что-то вроде описания, которое я приводил в ссылке из первого сообщения. Только там описывается предпечатная проверка, а здесь надо будет расписать то, что в Акробате обозначено как «Verifies compliance with PDF/A-1b».
    Когда же у издательских людей будет внятный Акробатовский диагноз — что именно в PDF не в порядке, то дальше и уж сами вполне смогут разобраться, как это исправлять.

    Я бы и сам такое сделал, но, увы, не настолько знаток PDF с версткой и правил их преобразования в PDF/A, чтобы грамотно расписать все пункты настроек. В этом как раз и рассчитывал на помощь — где что выбрать, где какую галочку поставить.
    Работы там не так уж и много, но надо хорошо знать где, что и как.

    Стандарт сам по себе описан техническим языком, а не художественным, там речь именно про «словари» и «флаги».
    Все правильно, однако это же не помешало адобовцам сделать так, чтобы Preflght-диагностика выдавалась на вполне нормальном языке. Значит нашлись таки «переводчики».

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

    18. Macshop , 21.05.2020 00:12
    Rainhaart

    цитата: Но к этому времен разработчики уже переключились на другой проект, по уши заняты именно им и на вопросы «Что все это значит и что надо делать при таком-то и таком-то сообщении?» почти что не реагируют.

    То есть модуль проверки у вас абсолютно сырой. И что вы от него тогда хотите?
    Есть техническое задание или условия, какие должны быть пдф?
    Ну там разрешение, встроенные объекты, ржб. и т.д. и т.п. В каком даже виде пдф к вам присылаются- одним файлом или по-полосно.
    На основании чего конторы вам выводят эти пдф?

    А так берете префлайт и настраиваете его. Другого варианта нет. А настраиваете его по тому техзаданию, которое писалось под модуль.
    Вы поймите правильно, как можно проверять то что не совсем понятно.

    цитата: В этом как раз и рассчитывал на помощь — где что выбрать, где какую галочку поставить.

    Так нужно иметь техзадание.

    цитата: Это когда отлажено. А когда нет?

    А если на том конце не отлажено, то что вы можете сделать при приемке?
    Вообщем-то все говориться об одном и том-же.

    Понимаю, что я не помог решению проблемы.
    Но поймите.
    Вот я хочу вам помочь не абстрактно.
    Возьму старую верстку и попробую вам для пробы отправить. И потом отлаживать. Но ведь техданных нет. Я не знаю, что вам присылать, кроме того, что это должно быть в PDF/A.

    19. Rainhaart , 21.05.2020 01:21
    Macshop
    То есть модуль проверки у вас абсолютно сырой. И что вы от него тогда хотите?
    Модуль проверки вполне дееспособный и требуемое от него делает более или менее нормально. Иначе бы его просто не приняли в работу. Проблема в том, что диагностические сообщения, которые он выдает, никто толком понять не может.
    А поскольку это выяснилось уже после того, как он был принят и запущен в работу, то с этого всю проблему и имеем.

    Есть техническое задание или условия, какие должны быть пдф?
    Ну там разрешение, встроенные объекты, ржб. и т.д. и т.п. В каком даже виде пдф к вам присылаются- одним файлом или по-полосно.
    На основании чего конторы вам выводят эти пдф?

    Вот здесь (oek.rsl.ru/faq#) лежит список требований к присылаемым PDF (пункт «Какие требования предъявляются к файлу электронной копии обязательного экземпляра документа»).
    Там конечно все в самом общем виде, без деталировки — при том разнообразии печатности, которая у нас выходит, требования к ней можно только в общем виде дать.

    А так берете префлайт и настраиваете его. Другого варианта нет.
    Именно это я и собираюсь сделать — если повезет и получится.

    А настраиваете его по тому техзаданию, которое писалось под модуль.
    ТЗ скорее всего писалось примерно в том же духе, что и в ссылке, которую я привел. Самые общие требования, чтобы в них вписалась практически любая наша печатность. То есть минимум миниморум технических деталей, основное — соблюдение стандарта PDF/A.

    Поэтому IMHO для начала вполне будет достаточно настроить Preflight на этот самый минимум миниморум.
    Я так подозреваю, что если в присланном PDF нет совсем уж грубых ошибок, то он проверку проходит. А если не проходит, то значит там какие-то косяки, которые, что называется, невооруженным глазом видны.
    Во всяком случае по соотношению принятых и завернутых обратно PDF выходит примерно так.

    А если на том конце не отлажено, то что вы можете сделать при приемке?
    Дать издателю перечень проблем с его PDF и сказать: «Вот это и вот это надо устранить, после чего делаете PDF заново и присылаете его опять нам». Именно это у моего знакомого и спрашивают издатели, которым пришли отказы: «Скажите, где и в чем у нас ошибка, что нам надо исправлять?».

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

    Вы поймите правильно, как можно проверять то что не совсем понятно.
    Для начала, думаю, будет достаточно этого самого минимум миниморум — PDF/A-совместимость в чистом виде. Если же выяснится, что где-то надо добавить технические детали, то при готовой базе это особых трудностей IMHO не составит.

    Понимаю, что я не помог решению проблемы.
    Наоборот, очень даже помогли.
    Теперь стало понятно, какие моменты я упустил в самом начале (ТЗ, например) и на предмет чего надо будет потормошить моего знакомого. Я ж обо всех этих деталях раньше просто не подозревал, верстка и PDF это не совсем моя сфера дел, с ней знаком больше вприглядку.

    Но поймите.
    Вот я хочу вам помочь не абстрактно.
    Возьму старую верстку и попробую вам для пробы отправить. И потом отлаживать.

    Очень-очень большое спасибо. При вашем-то опыте верстальщика наверняка что-то существенное увидите.

    прав и в РГБ фактически стоит veraPDF, то можно не отсылать именно туда, а просто прогнать самому на veraPDF. А то при передаче туда PDF надо изрядную бюрократию разводить, только зря время потратите.

    цитата: Проблема в том, что диагностические сообщения, которые он выдает, никто толком понять не может.

    цитата: При вашем-то опыте верстальщика наверняка что-то существенное увидите

    цитата: Вот здесь (oek.rsl.ru/faq#) лежит список требований

    цитата: Дать издателю перечень проблем с его PDF и сказать: «Вот это и вот это надо устранить, после чего делаете PDF заново и присылаете его опять нам»

    цитата: То есть минимум миниморум технических деталей, основное — соблюдение стандарта PDF/A.

    Вы не в то упираетесь. Пдф он и есть пдф. Как вы шхуну обзовете, так она и поплывет (Капитан Врунгель), вот только название будет всегда одно: Беда.
    Проблема не в совместимости, а в ошибках верстки или подготовки материалов (я не знаю в чем, потому что этих ошибок нет, я их не вижу)
    У вас по какому-то принципу модуль написан проверки. И теперь вы надеетесь, что эта хрень взлетит.
    Примерно так. Вы просто не с того конца подходите.
    Если пдф отдистиллирован в PDА/A, то значит, что он уже прошел первоначальную проверку и он скорее-всего стандарту соответствует. а дальше начинаются просто ошибки. Не связанные с совместимостью со стандартом. ИМХО.

    20. Macshop , 21.05.2020 02:14
    21. Rainhaart , 21.05.2020 12:29
    Macshop
    Ну значит он сырой.
    Хуже — это вполне себе приличный софт (судя по отзывам), но похоже написанный в манере «программист для программиста».
    Или же: «Неужели вам все это действительно непонятно?!» — обычно произносится с интонацией искреннего удивления.

    подтвердит, что это действительно похоже на выдачу veraPDF, то буду тормошить господ разработчиков на тему более или менее вменяемого перевода всей этой словесности на нормальный язык.

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

    Да это фигня. Зачем им 300 точек? При ржб
    Чтоб я знал. Вот на неделе как раз и буду тормошить знакомого, чтобы все эти вопросительные знаки выяснил.

    Это нужно целый отдел держать.
    А на этой работе в РГБ целый отдел и сидит — мой знакомый как раз в нем работает. Люди там конечно не только этим занимаются, но работа с подобными письмами у них таки приличную часть времени съедает.

    Вы не в то упираетесь. Пдф он и есть пдф.
    Проблема не в совместимости, а в ошибках верстки или подготовки материалов.

    А вот это для меня очень существенный момент.

    До сих пор я не очень хорошо представлял себе откуда могут браться ошибки, на которые ругается система проверки. То ли с верстки, то ли с неправильных настроек преобразования в PDF/A, то ли еще с чего.
    Если же основная их причина — верстка или подготовка материалов, то для их отлова проверять надо уже сверстанное, но еще не преобразованное. В смысле PDF с версткой, но никак не PDF/A, который из него сделали.
    Тогда для издательств получаем вполне работающую цепочку — верстаем, делаем из верстки PDF, проверяем его на Preflight на потенциальные ошибки, обнаруженные ошибки убираем, делаем PDF/A, отсылаем в РГБ.

    IMHO вполне пойдет — или как?

    Но при этом все равно этот PDF с версткой надо прогонять через Акробатовское «Verifies compliance with PDF/A-1b» — как еще проверить-то?

    Если пдф отдистиллирован в PDА/A, то значит, что он уже прошел первоначальную проверку
    IMHO здесь немного по другому — такой PDF в принципе можно преобразовать в PDF/A, совсем уж безнадежного в нем ничего нет. Но полноценным PDF/A (т.е. полностью вписывающимся в стандарт) он при этом то ли будет, то ли нет — в зависимости от того обнаружатся ли в нем какие-то «блохи». О которых периодически бурчит система проверки.

    Посмотрел еще раз настройки «Verifies compliance with PDF/A-1b». Действительно там чистая совместимость с PDF/A — только один из пунктов, причем настраивается он достаточно просто, всего лишь галочку где надо поставить. Так что в смысле своего «минимум миниморум» я пожалуй был неправ.

    Но вот все остальные пункты — здесь уже без человека с практикой работы в издательстве никак не обойдешься. Там везде надо хорошо представлять, какие моменты настроек могут оказаться критичными, в смысле, чтобы отлавливались типичные «блохи» верстки. Которые потом могут помешать преобразованию в корректный PDF/A.

    А потом заметил интересный момент. Какой Preflight-профиль не посмотри, там в настройках везде один и тот же список пунктов — «Pages», «images», «Colors», «Fonts» и т.д. И комплекты настроек внутри каждого пункта везде одинаковые. Каких-то заметных отличий между профилями, сделанными для разных задач я не заметил.
    Но какой-то рабочий минимум по допечатной подготовке (если я правильно понял, то именно ею вы и занимались) как раз дан по ссылке, которую я в самом начале приводил — https://www.publish.ru/articles/201306_20013064. И там именно это и расписано — что и как надо настраивать при Preflight-проверке всего, о чем идет речь в статье.

    Тогда может при создании задуманной инструкции для начала отталкиваться от материала из этой статьи?
    Взять тамошний список «что надо проверить», сделать поправку на то, что там идет по допечатной подготовке, а у меня будет преобразование в PDF/A плюс требования РГБ (которые требования еще выяснить надо будет ). При необходимости дополнять и редактировать полученную инструкцию (созданный на ее основе профиль проверки).

    IMHO получится как раз то, что требуется — набор достаточно дежурных ошибок, которые могут помешать преобразованию в корректный PDF/A. И на которые делается проверка перед этим преобразованием.

    22. Macshop , 21.05.2020 13:28
    Просто в дистиллере ставится совместимость с PDF/А. И все. На выходе получается нужный файл. Но это нужно делать у заказчика.
    Или вы собираетесь все перегонять в самой отделе?

    цитата: В действительности, PDF/A является подмножеством формата PDF, из которого исключены некоторые особенности, не подходящие для долгосрочного архивного хранения.

    цитата: чтобы документы в формате PDF/A были на 100 % самодостаточными. Вся информация, необходимая для того, чтобы каждый раз отображать документ в неизменном виде, внедрена в файл. Сюда входит (не ограничиваясь только этим) всё содержимое документа (текст, растровые изображения и векторная графика), шрифты и информация о цвете. Документы формата PDF/A не могут использовать информацию из внешних источников (как то шрифтовые программы или гиперссылки).

    Другие ключевые элементы для соответствия требованиям PDF/A включают:

    запрещён аудио и видео контент;
    запрещено внедрение кода на javascript и команд на запуск исполняемых файлов;
    все шрифты должны быть внедрены и также они должны быть легально внедряемы для неограниченного универсального отображения. Это так же касается и так называемых стандартных шрифтов Postscript, таких как Times или Helvetica;
    цветовые пространства определяются независимым от устройства способом;
    шифрование не разрешено;
    предписывается использование основанных на стандартах метаданных.

    цитата: то ли с неправильных настроек преобразования в PDF/A

    Нет неправильных настроек, кроме базовых.
    А остальные глюки только через макет издания и верстку.

    Вы ищете глюки в преобразовании в пдф, а искать нужно в верстке и допечатке.

    Добавление от 21.05.2020 13:32:

    цитата: Хуже — это вполне себе приличный софт (судя по отзывам), но похоже написанный в манере «программист для программиста».

    Ну если софт нормально не работает? ТО что это? И ведь главное не исправляется ничего. Идеального софта не бывает, а вот умение глюки исправлять.

    23. Rainhaart , 22.05.2020 00:49
    Macshop
    А остальные глюки только через макет издания и верстку.
    .
    Вы ищете глюки в преобразовании в пдф, а искать нужно в верстке и допечатке.
    Понял, осознал, выполняю.

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

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

    Просто в дистиллере ставится совместимость с PDF/А. И все. На выходе получается нужный файл.
    Даже если при этом дистиллеру скармливается файл, у которого есть проблемы совместимости с PDF/А — например, не может быть внедрена часть использованных шрифтов?

    Но это нужно делать у заказчика.
    Или вы собираетесь все перегонять в самой отделе?

    Шо я зовсим дурний?
    Просто сообщаю это автору очередного письма: «Помогите, что нам делать?», а уж правильно перегонять свою верстку он сам будет.

    Вся ваша проверка на совместимость должна вписываться в эти вот требования.
    Полностью согласен. Но я же не могу просто сказать Акробату: «Проверь этот PDF на полную внедряемость всех шрифтов», или «Проверь на внедряемость использованных изображений», или еще что-то аналогичное.
    Мне надо в Preflight-профиле расставить все необходимые настройки, поставить, где надо галочки и т.д. И основной вопрос пока — как это надо сделать, где и что проставить, чтобы отлавливались ошибки PDF/A-совместимости, которые могут набежать через верстку.

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

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

    Ну если софт нормально не работает? ТО что это? И ведь главное не исправляется ничего. Идеального софта не бывает, а вот умение глюки исправлять.
    Работает-то он вроде вполне нормально — в смысле именно проверки на совместимость. А вот почему такие странные сообщения выдает.
    Все, что мне пока голову приходит — известное «Это не баг, это фича». По причине, пока не очень понятной, именно так его разработчиками и было задумано. А вот почему — как раз и будем выяснять. И что с их диагностикой делать — тоже

    Люди вроде бы серьезные (http://verapdf.org/home/), так что надеюсь, что какое-то работающее решение найдем.

    24. Macshop , 22.05.2020 09:45
    Rainhaart

    цитата: Но я же не могу просто сказать Акробату: «Проверь этот PDF на полную внедряемость всех шрифтов», или «Проверь на внедряемость использованных изображений»,

    цитата: Даже если при этом дистиллеру скармливается файл, у которого есть проблемы совместимости с PDF/А — например, не может быть внедрена часть использованных шрифтов?

    цитата: Как собственно когда-то PDF и задумывался.

    цитата: Просто сообщаю это автору очередного письма: «Помогите, что нам делать?», а уж правильно перегонять свою верстку он сам будет.

    цитата: Мне надо в Preflight-профиле расставить все необходимые настройки, поставить, где надо галочки и т.д.

    Все настройки у вас перед глазами. Там всего ничего-то.

    , 22.05.2020 11:19

    Rainhaart
    Как вы полагаете, можно это считать оригиналом и переводом?
    Вполне. Возможно даже стоит поискать версию veraPDF с этим переводом. Есть шанс, что его авторы не стали нарушать правила open-source.

    Там ведь или PDF/A-1a или PDF/A-1b
    Или PDF/A-2. Или PDF/A-3.

    вполне достаточно краткой инструкции «Как проверить уже сделанное». А для этого всего лишь надо прописать в профиле Preflght-проверки нужные параметры — там не их так уж и много, где-то десятка полтора.
    Вы такой наивный. Ну получите вы список вида «ошибка «Clause: 6.3.6″ соответствует галочке №8», и что с того? Вопрос «и что нам с этим делать» так и останется. Проблему недостаточно квалифицированных кадров в издательствах этим не решить.

    Точнее, так. До сих пор их необходимая квалификация не включала в себя тонкости формата PDF. А теперь должна включать. Вашим знакомым следует воспользоваться моментом, изучить их, и проводить платные семинары для издателей.

    26. НеСпециалист , 23.05.2020 13:36
    Давненько меня тут не было.

    Ради интересу поставил себе эту самую verapdf. Долго веселился. Значица так: в нынешних программах Adobe НЕТУ «стандартного» вывода в стандарт PDF/A, есть в PDF/X (в InDesign-е). Что не совсем здОрово, если придётся делать файл через Distiller из чего-то другого, например «через Word» (всяко бывает), в Кварке смотреть лениво, но метод борьбы примерно следующий:
    1. Пусть поставят себе оную verapdf и проверяют результаты.
    2. Делаем PDF, совместимый с pdf/x 2003 (описываю для InDesign-а, там этот профль есть, далее — сообразят, если захотят).
    3. Открываем PDF в Акробате, выбираем (есть в версии Acrobat DC 2015, в более старых наверное тоже что-то подобное есть) панель инструмента «PDF standards», далее «Save as pdf/a» в опциях «pdf/a-1b» и далее «исправлять ошибки». Опа! Проверка пройдена!

    До соответствия с версией «pdf/a-1a» дойти не смог. Там что-то совсем уже.

    27. Macshop , 23.05.2020 21:49
    Не мытьем, так катаньем.
    28. НеСпециалист , 23.05.2020 22:36
    Macshop
    Я ленив, однако. На кой ляд мне изучать весь стандарт (а потом ещё долго соображать, что там авторы в ту или иную проверку всунули под каким сообщением), когда надо просто «сдать»?

    ЗЫ Не, можно и до «1a» при необходимости, там какие-то относительно простые сообщения. Но это пусть уж ТС и его друзья чуток напрягутся.

    ЗЫ2 Проверял, кстати, на «кошерном» файле, давно напечатанном. И даже не на одном. Дело не в «правильно верстать и выводить», дело в «тупой» проверке неизвестно что и как проверяющей программой, и в не озвученных НОРМАЛЬНО «требованиях». Как, блин, РОССИЙСКАЯ государственная библиотека может требовать соответствия не оформленному официально на русском языке некоему «стандарту». И выводить в качестве аргумента совершенно «неклассифицируемые» сообщения. Бред собачий.

    , 23.05.2020 23:24

    НеСпециалист
    Как, блин, РОССИЙСКАЯ государственная библиотека может требовать соответствия не оформленному официально на русском языке некоему «стандарту». И выводить в качестве аргумента совершенно «неклассифицируемые» сообщения. Бред собачий.

    IMHO довольно типично для российских государственных учреждений. Особенно если внедрение системы проводилось по принципу «освоить деньги и забыть как страшный сон».

    Ссылка на стандарт там, кстати есть (ГОСТ Р 704-2006). Только вот слово «PDF» в нем ни разу не встречается.

    30. Rainhaart , 24.05.2020 18:21
    Macshop
    Галочку загружать шрифты должны ставить с той стороны.
    Так я сам это делать и не собираюсь.

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

    Шрифты или есть или их нет
    Шрифты еще могут быть бестолково сделанные, что называется, самодельные. Кое-как, наперекосяк.
    Оказывается в издательствах и такое бывает — накопали где-то в Сети вроде бы подходящий шрифт и работают с ним. В типографию такое еще как-то проходит, а при переводе в PDF/A облом — «Символы такие-то шрифта такого-то не могут быть внедрены». Потому что шрифт был сделан с нарушением каких-то там правил, стандартов.

    Или все или ничего. Скорее всего дистиллер просто откажется этот файл обрабатывать.
    Судя по происходящему возможен и третий вариант — дистиллер PDF возьмет, что-то на выходе выдаст, но это будет неполноценный PDF/A. Который при проверке как раз и даст обсуждаемое здесь.
    Подобных PDF/A-файлов в РГБ приходит, слава богу, не так уж и много, основная масса сделана вполне нормально и проверку проходит. Но учитывая объемы печатности в России таки набегает.

    На том конце должен присутствовать правильный техпроцесс.
    «На том конце» имеем то, что имеем. Плюс, как резонно заметил

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

    Все настройки у вас перед глазами. Там всего ничего-то.
    Для профи в этом деле действительно на пару раз плюнуть. А для новичка вроде меня каждый пункт настроек — вопросительный знак.
    Надо ли вот здесь и вот здесь ставить галочки или нет? Для какого типа проверки надо ставить, а для какого не требуется? Если в настройках требуется указывать какие-то параметры (разрешения, типы шрифтов, размер страниц и тому подобное), то какие значения выбрать?
    И так далее, и тому подобное.

    Или PDF/A-2. Или PDF/A-3.
    Вот-вот. Не дай бог еще задумаются — а что именно нам надо?

    Вы такой наивный. Ну получите вы список вида «ошибка «Clause: 6.3.6″ соответствует галочке №8», и что с того?
    Пришлось как-то разбираться с одним сообщением системы проверки — надо было помочь знакомому из издательства.
    Из сообщения удалось понять, что где-то облом с внедрением шрифтов (глифов). Взяли проблемный PDF, прогнали его через Preflight, получили сообщение «Символы такие-то шрифтов таких-то не могут быть внедрены». Плюс страницы PDF, где были выделены символы, которые не удалось внедрить.
    С таким уже и работать можно.

    Ко всем давно уже назревший вопрос — не знает ли кто мануала/методички по работе с Preflight? Более или менее обстоятельно написанного. с примерами, как надо делать настройку профиля для того или иного вида проверки.
    Если такое в природе водится (хоть в каком-нибудь виде), то заметно бы облегчило задачу.

    Вашим знакомым следует воспользоваться моментом, изучить их, и проводить платные семинары для издателей
    И как хлынут на эти семинары «пострадальцы» от системы проверки со всей России-матушки.
    Нет уж нафиг, нафиг — это домой за полночь возвращаться станешь.

    31. НеСпециалист , 24.05.2020 18:57
    Rainhaart
    В типографию такое еще как-то проходит, а при переводе в PDF/A облом — «Символы такие-то шрифта такого-то не могут быть внедрены». — да вы, батенька, сказочник. Любая типография (а не «подвальная девочка с быстрым корелом») пошлёт создателей такого PDF в единственно верном направлении.
    32. Rainhaart , 24.05.2020 19:27
    НеСпециалист
    да вы, батенька, сказочник. Любая типография (а не «подвальная девочка с быстрым корелом») пошлёт создателей такого PDF в единственно верном направлении.
    Про неаккуратно сделанные шрифты попалось как-то случайно на форуме полиграфистов. Деталей уже не помню, но там было именно так — типография принимала без проблем, а вот в РГБ шел отказ.
    Опять же было это чисто как пример, что шрифты могут быть и нормальные, и не очень. Так что не настаиваю.
    33. Macshop , 25.05.2020 00:05
    Rainhaart

    цитата: Шрифты еще могут быть бестолково сделанные, что называется, самодельные. Кое-как, наперекосяк.

    Да ладно вам. Уже сколько лет прошло. Шрифты подчищены. Плохо сделанное уже давно умерло.

    И это действительно не проблемы РГБ. Или типографии. Не надо лишнего на себя брать.

    34. Rainhaart , 13.07.2020 19:12
    За прошедшие времена удалось таки наработать нормальную методику создания PDF/A, которая почти не создает обломов при приемке в РГБ. Но пара проблемных мест пока еще осталось.

    Сегодняшняя схема перевода в PDF/A и чистки от ошибок выглядит так.

    Верстка → вывести в PS → через Дистиллер сделать из него PDF/A → проверить на ошибки → если есть ошибки конвертировать через Preflight в PDF/A → опять проверить на ошибки → если все еще не вычищены, то → преобразовать PDF/A в PS → создать из PS-файла PDF/A-файл.

    Когда у людей есть Акробат, да еще одной из последних версий, то никаких проблем. Но если нет вообще или версия старая (все ошибки создания PDF/A вычистить не в состоянии), то пока единственный вариант — виртуальный принтер, который может выводить в PDF/A (например, Free Solid PDF Creator).
    Когда он делает нормальный PDF/A с первого раза, то все в порядке. Но если делает с ошибками, то надо такой PDF пересоздавать (запускать цепочку PDF-PS-PDF). А вот как такое сделать без Акробата с его инструментарием — пока более или менее надежного инструмента не накопалось.

    Если кто-то знает подходящий софт, то было бы очень неплохо.

    И еще одна проблема. Часто верстка издания делается поблочно, на разных компах, а потом собирается в одно целое. Чтобы из таких блоков создать PDF/A для РГБ обычно выводят каждый блок в PS, а потом PS-файлы объединяют в PDF/A.
    Здесь то же самое — если есть Акробат, то без проблем. А вот если нет. Пока еще чего либо подходящего не накопалось.

    35. nesla , 14.07.2020 11:23
    Rainhaart
    . Здесь то же самое — если есть Акробат, то без проблем. А вот если нет. [source=23:46132:34]

    Для осмысления посмотрите PDF24 (фриварная, есть вариант для бизнеса):

    Там есть средства перевода PDF в PDF/A (1, 2). И если их применить, то в конечном PDF-файле появляется надпись о соответствии стандарту PDF/A (3).

    К сообщению приложены файлы: 1.jpg, 900×600, 63Кb, 2.jpg, 900×600, 54Кb, 3.jpg, 881×860, 63Кb

    36. Rainhaart , 14.07.2020 13:10
    nesla
    Для осмысления посмотрите PDF24 (фриварная, есть вариант для бизнеса):
    [source=23:46132:35]

    Мне он уже попадался, спасибо. Там пока основная проблема — как перемещаться по его менюшкам. На входе я имею окошко с набором инструментов (на приложенном скриншоте), а как оттуда попасть в место, которое занимается PDF/A (как на ваших скриншотах) — пока что не разобрался.

    Работает ли он с PS-файлами — тоже не очень понятно. Пока что открыть в нем PS не получается, а работа с PS (за пределами Акробата) сейчас основная проблема.

    Поэтому пока используем Free Solid PDF Creator. Это просто виртуальный принтер, без доп. инструментов, но интерфейс там достаточно простой и понятный.

    К сообщению приложены файлы: 1.gif, 668×408, 30Кb

    37. nesla , 14.07.2020 13:41
    Rainhaart

    Это у вас запущен лаунчер (запускатель). У меня вот так:
    «C:\Program Files (x86)\PDF24\pdf24-Launcher.exe»

    Из него можно запустить конструктор (1):

    Но конструктор можно запустить и без лаунчера:
    «C:\Program Files (x86)\PDF24\pdf24-Creator.exe»

    Далее:
    Меню — Файл — Открыть. (2) и Меню — Файл — Сохранить (3).

    Можно запустить ещё ассистент:
    «C:\Program Files (x86)\PDF24\pdf24-Assistant.exe»

    Формат PS открывает. Можно и PDF сохранить в PS.

    ABAP Tips

    пятница, 23 марта 2020 г.

    QR код с многострочным тестом в PDF

    Обычно я говорю, что все, что в Adobe могут делать хорошо, это Photoshop. Хотя, наверняка это преувеличение, и всякие там AfterEffects и Illustrator достойные представители своего жанра. Но поскольку абаперу в основном приходится сталкиваться с продукций Adobe в виде LiveCycleDesign при создании PDF форм, то весь негатив вызван в основном этим продуктом.

    LiveCycleDesign ужасен и полон багов, а связка с SAP GUI через внедрение по COM стабильности не добавляет. Но все равно PDF лучше чем SAPScript и SmartForms.

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

    Возникла задача в PDF выводить QR-код, в котором закодирован многострочный текст. Но в PDF перенос текста стабильно заменялся на пробел (или что-то аналогичное) и переноса строк не было. Есть нота 2358186, но она относится только к SAPScript и SmartForm.
    В результате копания и использования метода научного тыка выяснилось, что для достижения необходимого результата нужно выполнить следующие условия:

    1. Строки при передаче в ФМ формирования PDF необходимо разделять через перевод строки и только. Это управляющий символ с кодом 10 (0A в 16-ной системе). Во многих языках программирования это «\n», в ABAP нужно юзать cl_abap_char_utilities=>newline (ну или %_NEWLINE).
    2. Для тестирования (preview) можно еще в событии initialize написать следующий код на JavaScript:

    Естественно, при наличии такого кода для разделения строк в ABAP также можно применять строку ‘\n’
    В свойствах формы Edit->Form Properties. необходимо везде указать генерацию статического PDF.
    А именно здесь (для непосредственной генерации):

    и здесь (для предпросмотра в LiveCycleDesigner):

    При вызове ФМ генерации PDF необходимо чтобы в передаваемом параметре /1bcdwb/docparams поля Fillable и Dynamic были пустыми.

    Илон Маск рекомендует:  Режимы Internet Explorer
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL