{"id":2892,"date":"2012-08-25T17:39:24","date_gmt":"2012-08-25T20:39:24","guid":{"rendered":"http:\/\/meiradarocha.jor.br\/news\/?p=2892"},"modified":"2013-11-03T22:21:31","modified_gmt":"2013-11-04T01:21:31","slug":"como-criar-um-documento-pdfx-3-com-o-ghostscript","status":"publish","type":"post","link":"https:\/\/meiradarocha.jor.br\/news\/2012\/08\/25\/como-criar-um-documento-pdfx-3-com-o-ghostscript\/","title":{"rendered":"Como criar um documento PDF\/X-3 com o Ghostscript"},"content":{"rendered":"<p><a href=\"http:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/08\/GPL-Ghostscript.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2898 alignright\" title=\"GPL-Ghostscript\" src=\"http:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/08\/GPL-Ghostscript.png\" alt=\"\" width=\"246\" height=\"258\" srcset=\"https:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/08\/GPL-Ghostscript.png 246w, https:\/\/meiradarocha.jor.br\/news\/wp-content\/uploads\/2012\/08\/GPL-Ghostscript-143x150.png 143w\" sizes=\"auto, (max-width: 246px) 100vw, 246px\" \/><\/a>As boas gr\u00e1ficas, hoje, aceitam trabalhos em formato PDF\/X-3. \u00c9 o formato padr\u00e3o da ind\u00fastria gr\u00e1fica. \u00c9 melhor do que entregar arquivos &#8220;abertos&#8221; em formato Corel Draw, InDesign etc. Ser\u00e1 a garantia de que n\u00e3o haver\u00e1 modifica\u00e7\u00f5es indesej\u00e1veis em suas publica\u00e7\u00f5es. Alguns programas modernos, como o software livre de editora\u00e7\u00e3o <strong>Scribus<\/strong>, j\u00e1 d\u00e3o sa\u00edda diretamente para PDF\/X-3. No entanto, outros bons programas como o LibreOffice ainda n\u00e3o produzem PDF neste formato. Mas \u00e9 f\u00e1cil converter um PDF comum ou arquivo de sa\u00edda PostScript em PDF\/X-3 com o <a href=\"http:\/\/pages.cs.wisc.edu\/~ghost\/\"><strong>Ghostscript<\/strong><\/a>. Esta \u00e9 a linha de comando (no ambiente Windows) para isto, que deve ser colocada num arquivo BAT de nome &#8220;prepress.bat&#8221; e usado na forma &#8220;prepress.bat meuarquivo.pdf&#8221;:<\/p>\n<pre>\"%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<\/pre>\n<p>No arquivo pdfx_def.ps, a seguinte linha deve indicar um perfil de cor adequado para o trabalho de impress\u00e3o: <\/p>\n<pre>\/ICCProfile (c:\/WIN\/system32\/spool\/drivers\/color\/ISOcoated_v2_eci.icc) def<\/pre>\n<p>A documenta\u00e7\u00e3o para estas op\u00e7\u00f5es do <strong>Ghostscript<\/strong> est\u00e1, no Windows, em\u00a0c:\/Arquivos de programas\/gs\/gs9.06\/doc\/Ps2pdf.htm#PDFX, que mostro traduzida a seguir.<\/p>\n<p>Para criar um documento a partir de um PDF\/X-3 Postscript ou um arquivo PDF, voc\u00ea deve:<\/p>\n<ol>\n<li>Especificar o dispositivo <code>pdfwrite <\/code>ou usar o script <code>ps2pdf<\/code>.<\/li>\n<li>Especificar a op\u00e7\u00e3o <code>-dPDFX<\/code>. Ela proporciona a conformidade do documento e for\u00e7a <code>-dCompatibilityLevel=1.3<\/code>.<\/li>\n<li>Especificar <code>-sProcessColorModel=DeviceGray<\/code> ou <code>-sProcessColorModel=DeviceCMYK<\/code> (<code>DeviceRGB <\/code>n\u00e3o \u00e9 permitido). Voc\u00ea deve especificar um <code>ProcessColorModel<\/code>, mesmo se voc\u00ea pretende criar um arquivo PDF colorido independente de dispositivo usando <code>-dUseCIEColor<\/code>.<\/li>\n<li>Especificar a op\u00e7\u00e3o <code>-dUseCIEColor<\/code> se necess\u00e1rio (ver adiante).<\/li>\n<li>Especificar um arquivo de defini\u00e7\u00e3o de PDF\/X antes de executar o documento de entrada. Ele fornece informa\u00e7\u00f5es adicionais para ser inclu\u00eddo no documento de sa\u00edda. Um exemplo de arquivo de defini\u00e7\u00e3o de PDF\/X pode ser encontrada em <code>gs\/lib PDFX_def.ps<\/code>.<\/li>\n<li>Se uma condi\u00e7\u00e3o de impress\u00e3o de registro \u00e9 aplic\u00e1vel, especificar seu identificador no arquivo de defini\u00e7\u00e3o de PDF\/X. Caso contr\u00e1rio, fornecer um perfil ICC e especific\u00e1-lo no arquivo de defini\u00e7\u00e3o de PDF\/X, conforme explicado abaixo.<\/li>\n<li>Fornecer um arquivo de recurso <code>DefaultRGB <\/code>na categoria de recursos <code>ColorSpace<\/code>. Ou defini-lo no arquivo de defini\u00e7\u00e3o de PDF\/X, ou fornecer uma defini\u00e7\u00e3o de <code>gs\/Resource\/ColorSpace\/DefaultRGB<\/code>. <code>gs\/Resource\/ColorSpace\/DefaultRGB<\/code> \u00e9 normalmente distribu\u00eddo com Ghostscript, seu conte\u00fado n\u00e3o pode necessariamente satisfazer as suas necessidades, veja abaixo.<\/li>\n<\/ol>\n<p>Como mencionado acima, o arquivo de defini\u00e7\u00e3o de PDF\/X fornece informa\u00e7\u00e3o especial que o padr\u00e3o PDF\/X-3 requer. Voc\u00ea pode encontrar um arquivo de exemplo no <code>gs\/lib\/PDFX_def.ps<\/code>, e edit\u00e1-lo de acordo com suas necessidades. O arquivo segue a sintaxe Postscript e usa o operador <code>pdfmark <\/code>para passar informa\u00e7\u00f5es especiais. Para seu conforto, marcamos as linhas que possam precisar de edi\u00e7\u00e3o no arquivo de exemplo com o coment\u00e1rio <code>% Customize<\/code>. Eles s\u00e3o explicados abaixo.<\/p>\n<dl>\n<dt>OutputCondition <em>string<\/em><\/dt>\n<dd>Define um valor para o dicion\u00e1rio <code>OutputCondition <\/code>de prop\u00f3sito de sa\u00edda.<\/dd>\n<dt>OutputConditionIdentifier <em>string<\/em><\/dt>\n<dd>Define um valor <code>OutputConditionIdentifier <\/code>para o dicion\u00e1rio de prop\u00f3sito de sa\u00edda.<\/dd>\n<dt>ICCProfile <em>string<\/em><\/dt>\n<dd>Pode ser omitido se <code>OutputConditionIdentifier <\/code>especifica um identificador registrado de condi\u00e7\u00e3o de impress\u00e3o caracterizado (ver <a href=\"http:\/\/www.color.org\/IPA_2003-11_PDFX.pdf\">http:\/\/www.color.org\/IPA_2003-11_PDFX.pdf<\/a>). Defina um nome de arquivo de perfil ICC a ser inclu\u00eddo no documento de sa\u00edda. Voc\u00ea pode especificar um nome de arquivo absoluto, ou um caminho relativo do diret\u00f3rio de trabalho.<\/dd>\n<dt>Title <em>string<\/em><\/dt>\n<dd>Define o t\u00edtulo do documento. S\u00f3 \u00e9 \u00fatil se o arquivo Postscript fonte n\u00e3o define um t\u00edtulo com coment\u00e1rios DSC. Caso contr\u00e1rio, remover toda a linha de arquivo de defini\u00e7\u00e3o.<\/dd>\n<dt>Info <em>string<\/em><\/dt>\n<dd>Define um valor de Informa\u00e7\u00f5es para o dicion\u00e1rio de inten\u00e7\u00e3o de sa\u00edda.<\/dd>\n<\/dl>\n<p>A norma PDF\/X-3 exige ajuste de cores no momento de gera\u00e7\u00e3o de documentos. Ghostscript n\u00e3o faz qualquer convers\u00e3o cor especial. Ou as cores devem ser ajustadas com anteced\u00eancia, ou uma convers\u00e3o de cor adequada deve ser especificada nos recursos <code>DefaultGray<\/code>, <code>DefaultRGB <\/code>e <code>DefaultCMYK <\/code>da categoria de recurso <code>ColorSpace<\/code>.<\/p>\n<p>Se voc\u00ea quiser alguma cor a ser convertida em cor CIE, a op\u00e7\u00e3o <code>-dUseCIEColor<\/code> deve ser especificada na linha de comando. Se n\u00e3o for especificada, apenas as cores RGB s\u00e3o convertidas em cores CIE com o uso do recurso de espa\u00e7o de cor <code>DefaultRGB<\/code>, mas as cores <code>DeviceGray <\/code>e <code>DeviceCMYK <\/code>s\u00e3o passados de forma id\u00eantica.<\/p>\n<p>Note que, se um objeto gr\u00e1fico n\u00e3o puder ser incorporado no formato de sa\u00edda, Ghostscript o converte em objetos de baixo n\u00edvel, utilizando um espa\u00e7o de cores do dispositivo especificado na op\u00e7\u00e3o <code>ProcessColorModel<\/code>. Se voc\u00ea precisa ajustar as cores resultantes, voc\u00ea pode substitu\u00ed-los com cores CIE, rodando Ghostscript uma segunda vez. Realizar as duas a\u00e7\u00f5es em uma \u00fanica passagem \u00e9 um ponto a ser melhorado.<\/p>\n<p>A distribui\u00e7\u00e3o Ghostscript n\u00e3o cont\u00e9m um perfil ICC para ser usado para criar um documento PDF\/X-3. Os usu\u00e1rios devem criar um apropriado, ou usar um de dom\u00ednio p\u00fablico, ou criar uma com o inspetor PDF\/X-3 freeware.<\/p>\n<p>O padr\u00e3o PDF\/X-3 requer uma entrada <code>TrimBox <\/code>a ser escrita para todas as descri\u00e7\u00f5es de p\u00e1gina. Trata-se de um conjunto de quatro deslocamentos que especificam como a p\u00e1gina ser\u00e1 cortada depois de ter sido impressa. Ele \u00e9 definido como a mesma MediaBox por padr\u00e3o, a menos que o par\u00e2metro destilador <code>PDFXTrimBoxToMediaBoxOffset <\/code>esteja presente. Ele aceita compensa\u00e7\u00f5es ao MediaBox como uma matriz [inferior direito canto superior esquerdo], por exemplo, o c\u00f3digo de entrada PostScript <code>&lt;&lt; \/ PDFXTrimBoxToMediaBoxOffset [10 20 30 40] &gt;&gt; setdistillerparams<\/code> especifica que 10 pontos ser\u00e3o aparadas \u00e0 esquerda, 20 pontos no direita, 30 pontos no topo, e 40 pontos na parte inferior.<\/p>\n<p>Outra entrada de p\u00e1gina \u00e9 o <code>BleedBox<\/code>. Ela d\u00e1 a \u00e1rea da p\u00e1gina para que os itens de sa\u00edda reais pode ser estendidos; marcas de corte, barras de cor etc, devem ser posicionados na \u00e1rea entre o <code>BleedBox <\/code>e o <code>MediaBox<\/code>. O <code>TrimBox <\/code>est\u00e1 sempre contido dentro do <code>BleedBox<\/code>. Por padr\u00e3o, o par\u00e2metro destilador <code>PDFXSetBleedBoxToMediaBox <\/code>\u00e9 <code>true<\/code>, e o <code>BleedBox <\/code>est\u00e1 definido para os mesmos valores que o <code>MediaBox<\/code>. Se for definido como false, o par\u00e2metro <code>PDFXBleedBoxToTrimBoxOffset <\/code>d\u00e1 deslocamento para o TrimBox. Aceita uma matriz de quatro valor no mesmo formato que o par\u00e2metro <code>PDFXTrimBoxToMediaBoxOffset<\/code>.<\/p>\n<p>Aqui est\u00e1 uma linha de comando para invocar Ghostscript para gerar um documento PDF\/X-3:<\/p>\n<pre>gs -dPDFX -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sDEVICE=pdfwrite -sOutputFile=out-x3.pdf PDFX_def.ps input.ps<\/pre>\n<p>Consulte tamb\u00e9m o controle <code>PDFACompatibilityPolicy <\/code>descrito em &#8220;Criar um documento PDF\/A&#8221; abaixo. O mesmo controle agora \u00e9 usado para especificar o comportamento desejado quando um arquivo de entrada n\u00e3o pode ser convertida &#8220;como est\u00e1&#8221; em um arquivo PDF\/X.<\/p>\n<h3>Criar um documento PDF\/A<\/h3>\n<p>Para criar um documento PDF\/A, siga as instru\u00e7\u00f5es para criar um documento PDF\/X-3, com as seguintes exce\u00e7\u00f5es:<\/p>\n<ol>\n<li>Especifique o dispositivo <code>pdfwrite <\/code>ou usar o script <code>ps2pdf<\/code>.<\/li>\n<li>Especifique a op\u00e7\u00e3o <code>-dPDFA<\/code> para especificar PDF\/A-1 ou PDF\/A-2.<\/li>\n<li>Especifique <code>-sProcessColorModel=DeviceGray<\/code>, <code>-sProcessColorModel=DeviceRGB<\/code> ou <code>-sProcessColorModel=DeviceCMYK<\/code>. Voc\u00ea deve especificar um <code>ProcessColorModel<\/code>, mesmo se voc\u00ea pretende criar um arquivo de cores independente de dispositivo PDF usando <code>-dUseCIEColor<\/code>.<\/li>\n<li>Especifique a op\u00e7\u00e3o <code>-dUseCIEColor<\/code>, se necess\u00e1rio (ver PDF\/X acima).<\/li>\n<li>Especifique um arquivo de defini\u00e7\u00e3o PDF\/A antes de executar o documento de entrada. Ele fornece informa\u00e7\u00e3o adicional para ser inclu\u00edda no documento de sa\u00edda. Um exemplo de arquivo de defini\u00e7\u00e3o PDF\/A pode ser encontrado em <code>gs\/lib\/PDFA_def.ps<\/code>. Voc\u00ea vai precisar modificar o conte\u00fado deste arquivo. Em particular, voc\u00ea deve alterar <code>\/ICCProfile<\/code> para que ele aponte para um perfil ICC v\u00e1lido para a sua <code>OutputIntent<\/code>. A string &#8216;<code>(...)<\/code>&#8216; definindo o ICCProfile deve ser um dispositivo totalmente qualificado e uma especifica\u00e7\u00e3o caminho apropriada para seu sistema operacional.<\/li>\n<\/ol>\n<p>H\u00e1 um controle adicional para a sa\u00edda PDF\/A:<\/p>\n<dl>\n<dt>PDFACompatibilityPolicy <em>Inteiro <\/em><\/dt>\n<dd>Quando uma opera\u00e7\u00e3o (por exemplo, pdfmark) \u00e9 encontrada que n\u00e3o pode ser emitida em um arquivo compat\u00edvel com PDF\/A, esta pol\u00edtica \u00e9 consultada. Existem atualmente tr\u00eas valores poss\u00edveis:<\/p>\n<blockquote><p>0 &#8211; (default) Incluir o recurso ou opera\u00e7\u00e3o no arquivo de sa\u00edda. O arquivo n\u00e3o ser\u00e1 compat\u00edvel com PDF\/A. Porque o cat\u00e1logo documento \u00e9 emitido antes de este \u00e9 encontrado, o arquivo ainda conter\u00e1 metadados PDF\/A, mas n\u00e3o vai ser compat\u00edvel. Um aviso ser\u00e1 mostrado, neste caso.<br \/>\n1 &#8211; O recurso ou opera\u00e7\u00e3o \u00e9 ignorada. O arquivo PDF resultante ser\u00e1 compat\u00edvel com PDF\/A. Um aviso ser\u00e1 emitido para cada caracter\u00edstica ignorada.<br \/>\n2 &#8211; Processamento do arquivo \u00e9 abortada com um erro. O erro exato pode variar, dependendo da natureza da compatibilidade PDF\/A.<\/p><\/blockquote>\n<\/dd>\n<\/dl>\n<p>Aqui est\u00e1 uma linha de comando para invocar Ghostscript para gerar um PDF\/A documento:<\/p>\n<pre>gs -dPDFA=1 -dBATCH-dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sOutputFile=out-a.pdf PDFA_def.ps input.ps<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u00c9 f\u00e1cil converter um PDF comum ou arquivo de sa\u00edda PostScript em PDF\/X-3 com o Ghosts<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,25,15,70,72],"tags":[],"class_list":["post-2892","post","type-post","status-publish","format-standard","hentry","category-design-grafico","category-diagramacao","category-editoracao","category-libreoffice","category-postscript"],"_links":{"self":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/2892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/comments?post=2892"}],"version-history":[{"count":0,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/2892\/revisions"}],"wp:attachment":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/media?parent=2892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/categories?post=2892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/tags?post=2892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}