Подтвердить что ты не робот

Как использовать ghostscript для преобразования PDF в PDF/A или PDF/X?

Есть ли способ использовать ghostscript для преобразования PDF в PDF/A или PDF/X? Я знаю, что его можно использовать для преобразования PDF в изображения, но я не знаю, можно ли его использовать для преобразования PDF/A. Какие параметры следует использовать?

4b9b3361

Ответ 1

Это преобразование pdf-документа (не pdf/a) в pdf/a: gs -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=output_filename.pdf input_filename.pdf

Надеюсь, это поможет кому-то!

Ответ 2

@danio, @imgen: Даже недавно выпущенные страницы документации по PDF/X (стандартизированные требования допечатной подготовки) и PDF/A (стандартизированные требования к архивированию) были довольно вводящими в заблуждение. (Ваша ссылка указана на версию v8.63.) В конце концов, было высказано предположение, что запуск командной строки примера с использованием примера PDF*_def.ps уже сгенерировал бы действительные файлы PDF/A и PDF/X.

Но, они этого не делают!

Вот одна из примеров команд, которая сама по себе верна:

  gs \
    -dPDFA \
    -dBATCH \
    -dNOPAUSE \
    -dNOOUTERSAVE \
    -dUseCIEColor \
    -sDEVICE=pdfwrite \
    -sOutputFile=out-a.pdf \
     PDFA_def.ps \
     input.ps

Выходной файл объявит себя PDF/A (и большинство читателей в формате PDF с удовольствием согласуются с этим), но выходной файл не выполняет все настоящие тесты соответствия.

Исправить легко: вам нужно отредактировать свой образец PDFA_def.ps (для файлов PDF/X: your PDFX_def.ps) в соответствии с вашими условиями. Эти требуемые изменения не были четко изложены в более старых версиях документации, и предоставленная команда предложила, что это будет работать из коробки.

Особенно в случае PDF/X вы ДОЛЖНЫ указать действительный профиль ICC для использования.

См. также обновленную документацию (текущая версия соединительной линии SVN) об этом:

Ответ 3

Надеюсь, что этот ответ поможет другим, приходящим из Google, с той же проблемой:

Для преобразования из PDF в PDFA-1b или PDFA-2b вы можете использовать Ghostscript. Я предлагаю вам использовать последнюю версию (9.19 сегодня).

Установите его

В Mac OS вы можете предпочесть использовать доморощенный:

brew install ghostscript

В Linux некоторые дистрибутивы приносят гораздо более старую версию (rhel7 sports 9.07). Чтобы загрузить полностью независимый современный однопользовательский ghostscript, загрузите его прямо с сайта:

wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs919/ghostscript-9.19-linux-x86_64.tgz

Если ссылка выше нарушена, когда вы пробуете ее через 20 лет, обратитесь к ghostscript.com и найдите раздел загрузки. Загрузите двоичную версию, не переходите к источнику, если вы не знаете, что делаете.

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

Командная строка

gs-919-linux_x86_64 -dPDFA=1 -dNOOUTERSAVE -sProcessColorModel=DeviceRGB -sDEVICE=pdfwrite -o output_file.pdf /path/to/PDFA_def.ps -dPDFACompatibilityPolicy=1 input_file.pdf

Обратите внимание, что output_file.pdf и input_file.pdf должны быть изменены на имена выходного файла (преобразованного файла) и входного файла (файл, который нужно преобразовать). /path/to/PDFA_def.ps - это ваша копия файла PDFA_def.ps.

-dPDFA=1 для PDFA-1b.

-dPDFA=2, если вы хотите PDFA-2b.

Что такое PDFA_def.ps?

PDFA_def.ps - это своего рода шаблон, используемый ghostscript для создания файла PDFA. Сложная часть состоит в том, что по какой-то причине ghostcript поставляется с нерабочим файлом.

Вам нужно будет отредактировать PDFA_def.ps и включить путь к допустимому файлу ICC (цветной профиль). Загрузите хороший цветной профиль из Adobe:

wget http://download.adobe.com/pub/adobe/iccprofiles/win/AdobeICCProfilesWin_end-user.zip

Внутри этого zip найдите файл с именем AdobeRGB1998.icc, поместите его где-нибудь и поместите путь к этому файлу в файл PDFA_def.ps.

Вот версия PDFA_def.ps, измените PATH_TO_YOUR_ICC_FILE на путь к вашему AdobeRGB1998.icc.

https://gist.githubusercontent.com/weltonrodrigo/19df77833f023fbe1572168982e4b515/raw/ea86e87379d14120d7ff26f6f235ac7eeb5f5dd5/PDFA_def.ps

Ответ 4

Если вы используете Windows и хотите явным образом создавать документы PDF/A-1b (PDFCreator имеет возможность вывода для PDF/A-2b, но не для PDF/A-1b), вы можете просто ввести параметры Artur, описанные выше, в Пользовательские настройки PDFCreator без параметров для имен документов. Запустите PDFCreator, выберите меню принтера, затем перейдите в настройки. Теперь выберите 'Ghostscript' в списке настроек на левой стороне. В разделе 'additional ghostscript settings' введите следующее:

-dPDFA|-dBATCH|-dNOPAUSE|-dUseCIEColor|-sProcessColorModel=DeviceCMYK|-sDEVICE=pdfwrite|-sPDFACompatibilityPolicy=1

Нажмите 'Save', затем распечатайте что-нибудь из MS Word или любого другого приложения, которое вы хотите, используя PDFCreator - оно будет создано в PDF/A-1b.

Привет, Фриц

Ответ 5

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

gs -dPDFA -dBATCH -dNOPAUSE -sColorConversionStrategy=UseDeviceIndependentColor -sDEVICE=pdfwrite -dPDFACompatibilityPolicy=2 -sOutputFile=output_filename.pdf input_filename.pdf

Обратите внимание на мое изменение с dPDFACompatibilityPolicy на d PDFACompatibilityPolicy. Измените его на большее число, чтобы получить другие версии. 1 хорошо, если вам не нужен DOCINFO. Кроме того, мы используем опцию UseDeviceIndependentColor, чтобы избежать проблем с проверкой.

Если вы измените параметры здесь, вы, скорее всего, получите несоответствующий PDF/A (даже если он указан по-другому). Вы можете проверить свой pdf/a здесь: https://www.pdf-online.com/osa/validate.aspx