GNU/Linux >> Tutoriales Linux >  >> Linux

Conversión de PDF a CMYK (con identificación que reconoce CMYK)

Ok, aquí hay algo, al menos...

Originalmente, necesito esto como una forma de asegurarme de que mis archivos PDF estén en CMYK y tengan el texto como "negro simple" C:0, M:0, Y:0, K:100, ya que he tenido problemas. anteriormente con impresoras, donde se quejaban de mis archivos PDF de Latex que contenían "negro enriquecido" para el texto (que, por lo tanto, costaba más). Y suelo optar por identify ya que parece ser la única herramienta que puede analizar archivos PDF y colores (y también es relativamente fácil de recordar).

Bueno, leí el Consejo técnico:Uso de Ghostscript para convertir y combinar archivos | Diario de Linux; donde se recomienda usar el tiffsep dispositivo de gs para obtener separaciones. Y esto para mi cumple el mismo rol que identify; Solo puedo hacer:

$ gs -sDEVICE=tiffsep -dNOPAUSE -dBATCH -dSAFER -r150x150 -sOutputFile=p%08d.tif test.pdf 

$ ls p*
p00000001.Black.tif  p00000001.Magenta.tif  p00000001.Yellow.tif  p00000001.Cyan.tif   p00000001.tif

$ eog p00000001.tif

... y luego puedo 'iterar' a través de las imágenes de separación usando la flecha izquierda/derecha, y es inmediatamente obvio si es 'negro simple' o 'negro rico'.

Así que esto muestra que, independientemente de lo que identify muestra, el test.pdf de pdflatex en realidad tiene 'negro simple' como color de texto, como se supone que debe (las otras separaciones están en blanco); sin embargo, hacer algo como:

# do a conversion of original PDF
$ gs -dPDFA -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sOutputFile=out_pdfa.pdf test.pdf

# do a separation on the converted pdf
$ gs -sDEVICE=tiffsep -dNOPAUSE -dBATCH -dSAFER -r150x150 \
  -dFirstPage=1 -dLastPage=1 -sOutputFile=p%08d.tif out_pdfa.pdf

# view
$ eog p00000001.tif

... revelará que el out_pdfa.pdf particular en realidad tiene 'negro rico', es decir, ¡la tinta para el texto cubre las cuatro separaciones! (identify también muestra este como RGB también).

Entonces, espero que este gs/tiffsep la técnica es más confiable que identify :)

Nota:estoy usando Ubuntu Natty, que incluye GhostScript 9.01; sin embargo, ese tiene un error desagradable con tiffsep :error 691857:tiffsep falla en la versión 9 (falta lab.icc). Eso se solucionó para 9.02, y 9.02 se lanzó como script fantasma en onírico. Para usar 9.02 en Natty, seguí cómo actualizar un solo paquete usando apt-get? - Foros de Ubuntu:

sudo nano /etc/apt/sources.list # add deb http://archive.ubuntu.com/ubuntu/ oneiric main restricted
sudo apt-get update
sudo apt-get install ghostscript # this upgrades only gs and dependencies 
sudo nano /etc/apt/sources.list  # remove/comment oneiric repo
sudo apt-get update && sudo apt-get upgrade # should be back to normal here

Tenga en cuenta que con la versión 9.01 con errores, incluso este comando fallaría:

$ GS_LIB=/usr/share/ghostscript/9.01/iccprofiles/ gs -sICCProfilesDir=/usr/share/ghostscript/9.01/iccprofiles/ -sDEVICE=tiffsep -dNOPAUSE -dBATCH -dSAFER -sOutputFile=p%08d.tif out_pdfa.pdf

...
sfopen: gs_parse_file_name failed.
sfopen: gs_parse_file_name failed.
... gsicc_open_search(): Could not find lab.icc ...

.. y con 9.02, no hay necesidad de especificar sICCProfilesDir explícitamente.


sdaau, el comando que usó para intentar convertir su PDF a CMYK no fue correcto. Prueba este en su lugar:

 gs \
   -o test-cmyk.pdf \
   -sDEVICE=pdfwrite \
   -sProcessColorModel=DeviceCMYK \
   -sColorConversionStrategy=CMYK \
   -sColorConversionStrategyForImages=CMYK \
    test.pdf 

Actualizar

Si la conversión de color no funciona como se desea y si ve un mensaje como "No se puede convertir el espacio de color a gris, revirtiendo la estrategia a LeaveColorUnchanged" entonces...

  1. su Ghostscript probablemente sea una versión más reciente de la serie de versiones 9.x , y
  2. Es probable que su PDF de origen utilice un perfil de color ICC incrustado

En este caso agregue -dOverrideICC a la línea de comando y vea si cambia el resultado según lo deseado.

Actualización 2

Para evitar que aparezcan artefactos JPEG en las imágenes (donde antes no había ninguno), agregue:

-dEncodeColorImages=false

en la línea de comando.

(Esto es cierto para casi todos los GS PDF->PDF procesamiento, no sólo para este caso. Debido a que GS crea de forma predeterminada un archivo completamente nuevo con objetos recién construidos y una nueva estructura de archivo cuando se le pide que produzca una salida en PDF, no simplemente reutiliza los objetos anteriores, como un procesador de PDF más "tonto" como pdftk hace {pdftk Sin embargo, tiene otras ventajas, ¡no malinterprete mi declaración! . GS aplica la compresión JPEG de forma predeterminada. Consulte la documentación de Ps2pdf actual. y busque "ColorImageFilter" para conocer más detalles...)


Tengo un problema no relacionado, pero actualmente también estoy luchando con archivos PDF CMYK.

Escribí este pequeño script aquí (se llama pdf2pdfx):

#!/bin/bash

gs \
-dPDFX \
-dBATCH \
-dNOPAUSE \
-dNOOUTERSAVE \
-sDEVICE=pdfwrite \
-sColorConversionStrategy=CMYK \
-dProcessColorModel=/DeviceCMYK \
-dPDFSETTINGS=/prepress \
-sOutputFile="${1%%.pdf}_X-3.pdf" \
PDFX_def.ps \
"$1"

y mi PDFX_def.ps contiene lo siguiente (eliminé el perfil ICC y definí FOGRA39, esto debería estar bien):

%!
% $Id$
% This is a sample prefix file for creating a PDF/X-3 document.
% Feel free to modify entries marked with "Customize".

% This assumes an ICC profile to reside in the file (ISO Coated sb.icc),
% unless the user modifies the corresponding line below.

systemdict /ProcessColorModel known {
  systemdict /ProcessColorModel get dup /DeviceGray ne exch /DeviceCMYK ne and
} {
  true
} ifelse
{ (ERROR: ProcessColorModel must be /DeviceGray or DeviceCMYK.)=
  /ProcessColorModel cvx /rangecheck signalerror
} if

% Define entries to the document Info dictionary :

% /ICCProfile (/usr/share/color/icc/ISOcoated_v2_300_eci.icc) def  % Customize or remove.

[ /GTS_PDFXVersion (PDF/X-3:2002) % Must be so (the standard requires).
  /Title (Title)                  % Customize.
  /Trapped /False                 % Must be so (Ghostscript doesn't provide other).
  /DOCINFO pdfmark

% Define an ICC profile :

currentdict /ICCProfile known {
  [/_objdef {icc_PDFX} /type /stream /OBJ pdfmark
  [{icc_PDFX} <</N systemdict /ProcessColorModel get /DeviceGray eq {1} {4} ifelse >> /PUT pdfmark
  [{icc_PDFX} ICCProfile (r) file /PUT pdfmark
} if

% Define the output intent dictionary :

[/_objdef {OutputIntent_PDFX} /type /dict /OBJ pdfmark
[{OutputIntent_PDFX} <<
  /Type /OutputIntent              % Must be so (the standard requires).
  /S /GTS_PDFX                     % Must be so (the standard requires).
  /OutputCondition (Commercial and specialty printing) % Customize
  /Info (none)                     % Customize
  /OutputConditionIdentifier (FOGRA39)      % Customize
  /RegistryName (http://www.color.org)   % Must be so (the standard requires).
  currentdict /ICCProfile known {
    /DestOutputProfile {icc_PDFX}  % Must be so (see above).
  } if
>> /PUT pdfmark
[{Catalog} <</OutputIntents [ {OutputIntent_PDFX} ]>> /PUT pdfmark

Identifique y luego informe correctamente el espacio de color CMYK. Antes:

[email protected] ~/orpheus/werbung/action $ identify -verbose action_schulungsvideo_v3_print.pdf
Image: action_schulungsvideo_v3_print.pdf
  Format: PDF (Portable Document Format)
  Class: DirectClass
  Geometry: 612x859+0+0
  Resolution: 72x72
  Print size: 8.5x11.9306
  Units: Undefined
  Type: TrueColor
  Endianess: Undefined
  Colorspace: RGB
  Depth: 16/8-bit
  Channel depth:
    red: 8-bit
    green: 8-bit
    blue: 8-bit
  Channel statistics:
    Red:
      min: 0 (0)
      max: 65535 (1)
      mean: 53873.6 (0.822058)
      standard deviation: 19276.7 (0.294144)
      kurtosis: 1.854
      skewness: -1.82565
    Green:
      min: 0 (0)
      max: 65535 (1)
      mean: 55385.6 (0.84513)
      standard deviation: 19274.6 (0.294112)
      kurtosis: 2.09868
      skewness: -1.91651
    Blue:
      min: 0 (0)
      max: 65535 (1)
      mean: 51020 (0.778516)
      standard deviation: 20077.7 (0.306367)
      kurtosis: 0.860627
      skewness: -1.52344
  Image statistics:
    Overall:
      min: 0 (0)
      max: 65535 (1)
      mean: 53426.4 (0.815235)
      standard deviation: 19546.7 (0.298263)
      kurtosis: 1.59453
      skewness: -1.75701
  Rendering intent: Undefined
  Interlace: None
  Background color: white
  Border color: rgb(223,223,223)
  Matte color: grey74
  Transparent color: black
  Compose: Over
  Page geometry: 612x859+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: Undefined
  Orientation: Undefined
  Properties:
    date:create: 2011-09-14T15:38:57+02:00
    date:modify: 2011-09-14T15:38:57+02:00
    pdf:HiResBoundingBox: 612.283x858.898+0+0
    pdf:Version: PDF-1.5 
    signature: 210bfc9cf90e3b9505385f8b2267da1665b5c2de28bb5223311afba01718bbeb
  Artifacts:
    verbose: true
  Tainted: False
  Filesize: 1.577MBB
  Number pixels: 526KB
  Pixels per second: 52.57MB
  User time: 0.020u
  Elapsed time: 0:01.009
  Version: ImageMagick 6.6.5-6 2011-04-08 Q16 http://www.imagemagick.org

después de:

[email protected] ~/orpheus/werbung/action $ pdf2pdfx action_schulungsvideo_v3_print.pdf
GPL Ghostscript 9.04 (2011-08-05)
Copyright (C) 2011 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1


[email protected] ~/orpheus/werbung/action $ identify -verbose action_schulungsvideo_v3_print_X-3.pdf 
Image: action_schulungsvideo_v3_print_X-3.pdf
  Format: PDF (Portable Document Format)
  Class: DirectClass
  Geometry: 612x859+0+0
  Resolution: 72x72
  Print size: 8.5x11.9306
  Units: Undefined
  Type: ColorSeparation
  Base type: ColorSeparation
  Endianess: Undefined
  Colorspace: CMYK
  Depth: 16/8-bit
  Channel depth:
    cyan: 8-bit
    magenta: 8-bit
    yellow: 8-bit
    black: 8-bit
  Channel statistics:
    Cyan:
      min: 0 (0)
      max: 65535 (1)
      mean: 8331.78 (0.127135)
      standard deviation: 14902.2 (0.227392)
      kurtosis: 1.62171
      skewness: 1.7799
    Magenta:
      min: 0 (0)
      max: 62194 (0.94902)
      mean: 6739.34 (0.102836)
      standard deviation: 14517.5 (0.221523)
      kurtosis: 2.08183
      skewness: 1.93276
    Yellow:
      min: 0 (0)
      max: 65535 (1)
      mean: 13310.1 (0.203098)
      standard deviation: 17022.5 (0.259746)
      kurtosis: 0.991135
      skewness: 1.45216
    Black:
      min: 0 (0)
      max: 56540 (0.862745)
      mean: 7117.47 (0.108606)
      standard deviation: 16803.7 (0.256408)
      kurtosis: 3.02752
      skewness: 2.16554
  Image statistics:
    Overall:
      min: 0 (0)
      max: 65535 (1)
      mean: 8874.66 (0.135419)
      standard deviation: 15850.6 (0.241864)
      kurtosis: 2.17614
      skewness: 1.88139
  Total ink density: 292%
  Rendering intent: Undefined
  Interlace: None
  Background color: white
  Border color: cmyk(223,223,223,0)
  Matte color: grey74
  Transparent color: black
  Compose: Over
  Page geometry: 612x859+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: Undefined
  Orientation: Undefined
  Properties:
    date:create: 2011-09-14T15:39:30+02:00
    date:modify: 2011-09-14T15:39:30+02:00
    pdf:HiResBoundingBox: 612.28x858.9+0+0
    pdf:Version: PDF-1.3 
    signature: 0416db7487ea147b974ece5748bc4284e82bfc3fb7cd07a4de050421ba112076
  Artifacts:
    verbose: true
  Tainted: False
  Filesize: 2.103MBB
  Number pixels: 526KB
  Pixels per second: 5.25708PB
  User time: 0.000u
  Elapsed time: 0:01.000
  Version: ImageMagick 6.6.5-6 2011-04-08 Q16 http://www.imagemagick.org

Esto está en Gentoo de 64 bits con gs 9.04 ¿Quizás eso ayude?

El PDF de origen proviene de la exportación de pdf de Inkscape, los colores se restringieron a los cubiertos en ECI ISO Coated v2. Utilizo esto como una solución para la falta de exportación CMYK de Inkscape y la falta de salida PDF/X lista para la preimpresión...


Linux
  1. ¿Dividir un PDF por marcadores?

  2. Optimizar archivos PDF (con Ghostscript u otro)

  3. Combinar archivos pdf con clasificación numérica

  4. ¿Cómo convertir un PDF a JPG con línea de comando en Linux?

  5. ¿Cómo extraer texto con OCR de un PDF en Linux?

Crea marcadores para tu PDF con pdftk

4 formas de editar un PDF con el comando pdftk-java

Edite archivos PDF en Ubuntu Linux con Master PDF Editor

¿Visor de PDF con texto seleccionable?

Imprimir comentarios con PDF?

Necesita fusionar varios PDF en un solo PDF con secciones de tabla de contenido