As boas gráficas, hoje, aceitam trabalhos em formato PDF/X-3. É o formato padrão da indústria gráfica. É melhor do que entregar arquivos “abertos” em formato Corel Draw, InDesign etc. Será a garantia de que não haverá modificações indesejáveis em suas publicações. Alguns programas modernos, como o software livre de editoração Scribus, já dão saída diretamente para PDF/X-3. No entanto, outros bons programas como o LibreOffice ainda não produzem PDF neste formato. Mas é fácil converter um PDF comum ou arquivo de saída PostScript em PDF/X-3 com o Ghostscript. Esta é a linha de comando (no ambiente Windows) para isto, que deve ser colocada num arquivo BAT de nome “prepress.bat” e usado na forma “prepress.bat meuarquivo.pdf”:
"%PROGRAMFILES%\gs\gs9.09\bin\gswin32.exe" -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sColorConversionStrategy=/CMYK -dPDFSETTINGS=/prepress -dProcessColorModel=/DeviceCMYK -dCompatibilityLevel=1.3 -sDownsampleColorImages=true -sDownsampleGrayImages=true -sDownsampleMonoImages=true -sOutputFile="%~n1_CMYK.pdf" -f "%PROGRAMFILES%\gs\gs9.09\Lib\pdfx_def.ps" -f %1
No arquivo pdfx_def.ps, a seguinte linha deve indicar um perfil de cor adequado para o trabalho de impressão:
/ICCProfile (c:/WIN/system32/spool/drivers/color/ISOcoated_v2_eci.icc) def
A documentação para estas opções do Ghostscript está, no Windows, em c:/Arquivos de programas/gs/gs9.06/doc/Ps2pdf.htm#PDFX, que mostro traduzida a seguir.
Para criar um documento a partir de um PDF/X-3 Postscript ou um arquivo PDF, você deve:
- Especificar o dispositivo
pdfwrite
ou usar o scriptps2pdf
. - Especificar a opção
-dPDFX
. Ela proporciona a conformidade do documento e força-dCompatibilityLevel=1.3
. - Especificar
-sProcessColorModel=DeviceGray
ou-sProcessColorModel=DeviceCMYK
(DeviceRGB
não é permitido). Você deve especificar umProcessColorModel
, mesmo se você pretende criar um arquivo PDF colorido independente de dispositivo usando-dUseCIEColor
. - Especificar a opção
-dUseCIEColor
se necessário (ver adiante). - Especificar um arquivo de definição de PDF/X antes de executar o documento de entrada. Ele fornece informações adicionais para ser incluído no documento de saída. Um exemplo de arquivo de definição de PDF/X pode ser encontrada em
gs/lib PDFX_def.ps
. - Se uma condição de impressão de registro é aplicável, especificar seu identificador no arquivo de definição de PDF/X. Caso contrário, fornecer um perfil ICC e especificá-lo no arquivo de definição de PDF/X, conforme explicado abaixo.
- Fornecer um arquivo de recurso
DefaultRGB
na categoria de recursosColorSpace
. Ou defini-lo no arquivo de definição de PDF/X, ou fornecer uma definição degs/Resource/ColorSpace/DefaultRGB
.gs/Resource/ColorSpace/DefaultRGB
é normalmente distribuído com Ghostscript, seu conteúdo não pode necessariamente satisfazer as suas necessidades, veja abaixo.
Como mencionado acima, o arquivo de definição de PDF/X fornece informação especial que o padrão PDF/X-3 requer. Você pode encontrar um arquivo de exemplo no gs/lib/PDFX_def.ps
, e editá-lo de acordo com suas necessidades. O arquivo segue a sintaxe Postscript e usa o operador pdfmark
para passar informações especiais. Para seu conforto, marcamos as linhas que possam precisar de edição no arquivo de exemplo com o comentário % Customize
. Eles são explicados abaixo.
- OutputCondition string
- Define um valor para o dicionário
OutputCondition
de propósito de saída. - OutputConditionIdentifier string
- Define um valor
OutputConditionIdentifier
para o dicionário de propósito de saída. - ICCProfile string
- Pode ser omitido se
OutputConditionIdentifier
especifica um identificador registrado de condição de impressão caracterizado (ver http://www.color.org/IPA_2003-11_PDFX.pdf). Defina um nome de arquivo de perfil ICC a ser incluído no documento de saída. Você pode especificar um nome de arquivo absoluto, ou um caminho relativo do diretório de trabalho. - Title string
- Define o título do documento. Só é útil se o arquivo Postscript fonte não define um título com comentários DSC. Caso contrário, remover toda a linha de arquivo de definição.
- Info string
- Define um valor de Informações para o dicionário de intenção de saída.
A norma PDF/X-3 exige ajuste de cores no momento de geração de documentos. Ghostscript não faz qualquer conversão cor especial. Ou as cores devem ser ajustadas com antecedência, ou uma conversão de cor adequada deve ser especificada nos recursos DefaultGray
, DefaultRGB
e DefaultCMYK
da categoria de recurso ColorSpace
.
Se você quiser alguma cor a ser convertida em cor CIE, a opção -dUseCIEColor
deve ser especificada na linha de comando. Se não for especificada, apenas as cores RGB são convertidas em cores CIE com o uso do recurso de espaço de cor DefaultRGB
, mas as cores DeviceGray
e DeviceCMYK
são passados de forma idêntica.
Note que, se um objeto gráfico não puder ser incorporado no formato de saída, Ghostscript o converte em objetos de baixo nível, utilizando um espaço de cores do dispositivo especificado na opção ProcessColorModel
. Se você precisa ajustar as cores resultantes, você pode substituí-los com cores CIE, rodando Ghostscript uma segunda vez. Realizar as duas ações em uma única passagem é um ponto a ser melhorado.
A distribuição Ghostscript não contém um perfil ICC para ser usado para criar um documento PDF/X-3. Os usuários devem criar um apropriado, ou usar um de domínio público, ou criar uma com o inspetor PDF/X-3 freeware.
O padrão PDF/X-3 requer uma entrada TrimBox
a ser escrita para todas as descrições de página. Trata-se de um conjunto de quatro deslocamentos que especificam como a página será cortada depois de ter sido impressa. Ele é definido como a mesma MediaBox por padrão, a menos que o parâmetro destilador PDFXTrimBoxToMediaBoxOffset
esteja presente. Ele aceita compensações ao MediaBox como uma matriz [inferior direito canto superior esquerdo], por exemplo, o código de entrada PostScript << / PDFXTrimBoxToMediaBoxOffset [10 20 30 40] >> setdistillerparams
especifica que 10 pontos serão aparadas à esquerda, 20 pontos no direita, 30 pontos no topo, e 40 pontos na parte inferior.
Outra entrada de página é o BleedBox
. Ela dá a área da página para que os itens de saída reais pode ser estendidos; marcas de corte, barras de cor etc, devem ser posicionados na área entre o BleedBox
e o MediaBox
. O TrimBox
está sempre contido dentro do BleedBox
. Por padrão, o parâmetro destilador PDFXSetBleedBoxToMediaBox
é true
, e o BleedBox
está definido para os mesmos valores que o MediaBox
. Se for definido como false, o parâmetro PDFXBleedBoxToTrimBoxOffset
dá deslocamento para o TrimBox. Aceita uma matriz de quatro valor no mesmo formato que o parâmetro PDFXTrimBoxToMediaBoxOffset
.
Aqui está uma linha de comando para invocar Ghostscript para gerar um documento PDF/X-3:
gs -dPDFX -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sDEVICE=pdfwrite -sOutputFile=out-x3.pdf PDFX_def.ps input.ps
Consulte também o controle PDFACompatibilityPolicy
descrito em “Criar um documento PDF/A” abaixo. O mesmo controle agora é usado para especificar o comportamento desejado quando um arquivo de entrada não pode ser convertida “como está” em um arquivo PDF/X.
Criar um documento PDF/A
Para criar um documento PDF/A, siga as instruções para criar um documento PDF/X-3, com as seguintes exceções:
- Especifique o dispositivo
pdfwrite
ou usar o scriptps2pdf
. - Especifique a opção
-dPDFA
para especificar PDF/A-1 ou PDF/A-2. - Especifique
-sProcessColorModel=DeviceGray
,-sProcessColorModel=DeviceRGB
ou-sProcessColorModel=DeviceCMYK
. Você deve especificar umProcessColorModel
, mesmo se você pretende criar um arquivo de cores independente de dispositivo PDF usando-dUseCIEColor
. - Especifique a opção
-dUseCIEColor
, se necessário (ver PDF/X acima). - Especifique um arquivo de definição PDF/A antes de executar o documento de entrada. Ele fornece informação adicional para ser incluída no documento de saída. Um exemplo de arquivo de definição PDF/A pode ser encontrado em
gs/lib/PDFA_def.ps
. Você vai precisar modificar o conteúdo deste arquivo. Em particular, você deve alterar/ICCProfile
para que ele aponte para um perfil ICC válido para a suaOutputIntent
. A string ‘(...)
‘ definindo o ICCProfile deve ser um dispositivo totalmente qualificado e uma especificação caminho apropriada para seu sistema operacional.
Há um controle adicional para a saída PDF/A:
- PDFACompatibilityPolicy Inteiro
- Quando uma operação (por exemplo, pdfmark) é encontrada que não pode ser emitida em um arquivo compatível com PDF/A, esta política é consultada. Existem atualmente três valores possíveis:
0 – (default) Incluir o recurso ou operação no arquivo de saída. O arquivo não será compatível com PDF/A. Porque o catálogo documento é emitido antes de este é encontrado, o arquivo ainda conterá metadados PDF/A, mas não vai ser compatível. Um aviso será mostrado, neste caso.
1 – O recurso ou operação é ignorada. O arquivo PDF resultante será compatível com PDF/A. Um aviso será emitido para cada característica ignorada.
2 – Processamento do arquivo é abortada com um erro. O erro exato pode variar, dependendo da natureza da compatibilidade PDF/A.
Aqui está uma linha de comando para invocar Ghostscript para gerar um PDF/A documento:
gs -dPDFA=1 -dBATCH-dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sOutputFile=out-a.pdf PDFA_def.ps input.ps