Формат PDF (Portable Document Format) – переносимый формат документов, разработанный компанией Adobe Systems, используется как основа для создания электронных изданий в среде программного пакета Adobe Acrobat. Формат PDF – это файловый текстовой формат, используемый для представления публикаций или других документов на любой аппаратной платформе и для любой операционной среды. Документ PDF содержит одну или более страниц. Каждая страница может содержать любые компоненты электронного издания: текст, графику и иллюстрации, информацию, обеспечивающую навигацию в электронной публикации. Также документ содержит всю служебную информацию, необходимую для правильного отображения документа.

 

Информация

 

Экспорт в формат PDF основан на документе "Adobe Portable Document Format, Version 1.3, second edition", с использованием некоторых элементов более поздних спецификаций формата.

 

 

 

Для уменьшения размера файла PDF использует различные методы сжатия. Для сжатия текстового материала используется алгоритм LZW ("Flate"). Для сжатия графической информации используются алгоритмы JPEG или LZW. Алгоритм JPEG - это сжатие с потерями, рекомендуется для полноцветных иллюстраций и изображений. Алгоритм LZW - это сжатие без потерь, рекомендуется для иллюстраций и изображений с небольшим количеством цветов, например графики, диаграммы, схемы. Для обеспечения независимости от шрифтов PDF файл содержит описание для каждого шрифта, использованного в документе. Описание включает название, размер, стиль и другие параметры шрифта. В режиме просмотра документа, если шрифт, описанный в документе, доступен, то он используется. Если не доступен, то заменяется на подобный с тем же размером и другими характеристиками. Шрифты можно внедрять в документ. Это значительно увеличивает размер файла, но гарантирует правильное отображение документа на любом компьютере. Перед началом процесса преобразования отчета, необходимо определить настройки экспорта.

 

 

Настройки экспорта

 

 

img_1 Параметр установки диапазона страниц отчета, которые будут обработаны и преобразованы.

img_2 Параметр Разрешить редактирование (Allow Editable) предоставляет возможность включить режим, при котором после экспорта, можно изменять только компоненты со включенным, предварительно в шаблоне отчета, свойством Редактируемый (Editable). Если выбрано значение Нет (No) - редактировать можно будет все компоненты, кроме случаев, когда иное ограничено параметрами группы Безопасность. Если выбрано значение Да (Yes) - то редактировать можно будет только компоненты, у которых включено свойство Редактируемый.

 

Информация

 

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

 

 

img_3 Параметр Метод сжатия изображения (Image Compression Method) предоставляет возможность определить способ сжатия изображений в PDF файле. Доступны следующие варианты:

strel11 JPEG - сжатие с потерями;

strel11 Flate - сжатие без потерь.

 

img_4 Параметр Режим разрешения (Image Resolution Mode). В зависимости от значений данного параметра, к изображениям отчета будут применять то или иное разрешение:

strel11 Значение Точно (Exatly) - все изображения после конвертации будут иметь разрешение, которое задано в параметре Разрешение изображения;

strel11 Значение Не больше чем (No More Than). В этом случае, если исходное разрешение изображения меньше, чем указанное в параметре Разрешение изображения, то разрешение изображения после конвертации отчета будет соответствовать исходному. Если исходное разрешение больше указанного в параметре Разрешение изображения, то разрешение изображения будет соответствовать значению параметра Разрешение изображения.

strel11 Значение Авто (Auto) - изображение после конвертации отчета будет с исходным разрешением.

 

img_5 Параметр Разрешение изображения (Image Resolution) предоставляет возможность изменить количество пикселей на дюйм (свойство изображения PPI (Pixels Per Inch)).

img_6 Параметр Качество изображения (Image Quality) будет доступен только при выборе метода сжатия JPEG.

img_7 Флажок PDF/A соглашение (PDF/A Compliance) включает/выключает поддержку стандарта долгосрочного архивного хранения электронных документов. Соответствие стандарту гарантирует, что документ по прошествии времени будет отображаться одинаково и на более поздних версиях Adobe Acrobat. При включении данного параметра также автоматически включаются параметры Встроить шрифты и Использовать Unicode.

img_8 Флажок Встроить шрифты (Embedded Fonts) предоставляет возможность встраивать файлы шрифтов в создаваемый файл PDF. Если данный параметр включен, то при экспорте отчета, файлы всех используемых в отчете шрифтов будут включены в файл PDF, и шрифты в полученном файле будут корректно отображаться в любом вьювере PDF файлов. Если свойство выключено, то для корректного отображения файла надо будет устанавливать на каждом компьютере все шрифты, используемые в отчете.

 

Информация

 

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

 

 

img_9 Флажок Экспортировать Rtf текст как изображение (Export Rich Text as Image) включает/выключает конвертацию Rtf текста в картинку при экспорте. Если параметр выключен, то RichText при экспорте раскладывается на более простые примитивы, поддерживаемые форматом PDF. RichText со сложным форматированием (вложенные изображения, таблицы) не всегда может быть преобразован корректно. В этом случае рекомендуется включить данный параметр.

 

Информация

 

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

 

 

img_10 Группа параметр Безопасноcть документа (Document Security), предоставляет возможность настроить безопасность PDF документа.

img_11 Группа параметров Цифровая подпись (Digital Signature) предоставляет возможность настроить применение подписи к PDF документу.

img_12 Параметр, который предоставляет возможность открыть выходной документ, после окончания процесса экспорта.

 

Информация

 

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

 

 

 

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

 

 

 

img_1 В поле Пароль пользователя (User Password) указывается пароль необходимый для открытия документа. Если указан какой-либо пароль, то доступ к открытию файла считается ограниченным и произойдет только в случае указания правильного пароля. Если пароль не указан, т.е. поле остается пустым, то файл может быть открыт без ограничений.

img_2 В поле Пароль владельца (Owner Password) указывается пароль доступа к операциям с файлом. Если указан какой-либо пароль, то доступ к операциям с файлом (к примеру, печать, копирование) будет доступен только после ввода пароля. Если пароль не указан, т.е. поле остается пустым, то операции с файлом будут доступны без ограничений.

img_3 Флажок Длина ключа шифрования (Encryption Key Length) предоставляет возможность выбрать длину ключа шифрования к документу. Чем больше длина, тем сложнее расшифровать документ, а соответственнее безопасность документа выше. При использовании 256-битного шифрования, существует возможность определить версию Acrobat 9 или Х. При этом, алгоритм шифрования применяется одинаковый - AES256 с расчетом hash-суммы по алгоритму SHA256. Различия лишь будут во внутренних расчетах алгоритма, поэтому в Acrobat Х алгоритм шифрования более криптоустойчив.

img_4 Флажок Разрешить печатать документ (Allow Print Document) включает/выключает ограниченный доступ к операции печать. Если данный параметр выключен, то необходимо указать пароль владельца для осуществления данной операции. Если параметр включен, то печать будет доступна всем открывшим документ.

img_5 Флажок Разрешить редактировать текст (Allow Modify Contents) включает/выключает ограниченный доступ к редактированию текста. Если данный параметр выключен, то необходимо указать пароль владельца для осуществления данной операции. Если параметр включен, то редактированеи будет доступно всем открывшим документ.

img_6 Флажок Разрешить копировать текст и графику (Allow Copy Text and Graphics) включает/выключает ограниченный доступ к копированию информации. Если данный параметр выключен, то необходимо указать пароль владельца для осуществления данной операции. Если параметр включен, то копирование будет доступно всем открывшим документ.

img_7 Флажок Разрешить добавлять или изменять примечания (Allow Add or Modify Text Annotations) включает ограниченный доступ к работе с примечаниями в документе. Если данный параметр выключен, то необходимо указать пароль владельца для осуществления данной операции. Если параметр включен, то данная операция будет доступна всем открывшим документ.

 

 

Пароли и разрешения доступа

Согласно спецификации для PDF-документа можно задать разрешения доступа и два пароля: пароль пользователя и пароль владельца. Если не задан ни один пароль и все разрешено, то документ не шифруется. Если задан хотя бы один пароль или убрано хотя бы одно разрешение, то документ шифруется.

 

Пароль пользователя позволяет открыть и просмотреть документ, а также некоторые дополнительные действия, в зависимости от разрешений доступа:

strel11 Редактировать документ;

strel11 Копировать текст и графику из документа;

strel11 Добавлять и изменять комментарии;

strel11 Печатать документ.

 

Информация

 

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

 

 

 

Длина ключа шифрования

В экспорте реализована поддержка 40-битного, 128-битного и 256-битного ключей шифрования. По умолчанию установлено использование  40-битного ключа. Шифрование 128-битным ключем более надежное, чем 40-битным, но менее надежное чем 256-битное. При использовании ключей длинною 40 или 128 бит, шифрование будет по алгоритму RC4 c расчетом hash-суммы по алгоритму MD5. Если же выбрана длина ключа шифрования 256-бит, то используется алгоритм AES256 с расчетом hash-суммы по алгоритму SHA256. Также в некоторых странах установлено ограничение на длину ключа шифрования.

 

Выдержка из спецификации:

"Документ PDF может быть зашифрован для защиты своего содержимого от несанкционированного доступа. Шифрование данных в PDF файле основано на использовании ключа шифрования, вычисляемого обработчиком безопасности (security handler). Различные обработчики могут вычислять ключ разнообразными способами, более или менее криптографически безопасными. В частности, стандартный обработчик шифрования PDF допускает максимальную длину ключа 5 байт (40 бит), в соответствии с требованиями к криптографии при экспорте, действующими в США, на момент первоначальной публикации спецификации PDF v1.3."

 

 

Встроенные шрифты
По умолчанию встраиваемые шрифты оптимизируются. Из них исключаются символы, которых нет в отчете. Это позволяет сильно уменьшить размер файла. Однако, для корректной работы редактируемого поля шрифт должен быть полный. Поэтому для тех шрифтов, которые используются в редактируемых полях, оптимизация не производится. Это увеличивает размер выходного файла. Особенно это заметно на азиатских языках, шрифты которых могут достигать 15-20 мегабайт.

 

Стили шрифтов

На данный момент существует особенность экспорта: все шрифты для внедрения в PDF-файлы должны быть установлены в системе, причем для каждого стиля шрифта должен быть установлен свой отдельный файл шрифта. Например, для шрифта Arial в системе обычно установлено 4 файла:

strel11 "arial.ttf" - стиль regular,

strel11 "ariali.ttf" - стиль italic,

strel11 "arialb.ttf" - стиль bold,

strel11 "arialbi.ttf" - стиль bold-italic;

 

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

 

 

Ниже представлена таблица совместимость параметров экспорта и версий Adobe Acrobat.

 

Версия Adobe Acrobat

Параметр экспорта

Adobe Acrobat 5

Параметр PageScaling из файла игнорируется Adobe Acrobat. По умолчанию опция в параметрах Adobe Acrobat равна значению "None", но при этом используется значение "Fit to printable area".

Adobe Acrobat 5 & 6

При редактировании Adobe Acrobat не понимает кодировку Unicode - вводятся только символы латиницы (кодировка Latin-1), остальные символы отображаются в виде точек;

Если параметр Use Unicode включен, то обязательно нужно внедрять шрифты (опция "Embedded Fonts"), иначе весь текст будет отображаться некорректно.

Adobe Acrobat 7

Обязательно необходимо встраивать шрифты в конечный PDF файл, иначе при редактировании любые шрифты заменяются шрифтом по умолчанию (обычно Tahoma).

Adobe Acrobat 7 Reader

Есть проблемы с версиями 7.0.5 - 7.0.9.  В этих версиях поле не входит в режим редактирования, если в тексте поля есть символы не латиницы (отличные от Latin-1). Вероятно, связано с тем, что версии с этими номерами существовали отдельно для разных языков. Версии для английского языка содержат эту проблему. Другие версии Adobe Acrobat разработчиками компании Stimulsoft не проверялись.

Adobe Acrobat 9

Поддержка 256-битного шифрования. В более ранних версиях, файл с 256-битным алгоритмом шифрования не будет открыт.

Adobe Acrobat Х

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