GNU/Linux >> Linux の 問題 >  >> Linux

PDFからCMYKへの変換(CMYKを認識するID付き)

わかりました、ここに何かがあります、少なくとも...

もともと、PDFファイルがCMYKであり、テキストが「プレーンブラック」C:0、M:0、Y:0、K:100であることを確認する方法としてこれが必要です-問題があったため以前のプリンターでは、テキストに「リッチブラック」が含まれている私の Latex PDF について文句を言うことがありました (したがって、より多くの費用がかかります)。そして、私は通常 identify に行きます PDF と色を解析できる唯一のツールであるように思われるため (また、覚えるのも比較的簡単です)。

さて、Tech Tip:Using Ghostscript to Convert and Combine Files | を読みました。 Linux ジャーナル; tiffsep の使用が推奨される場所 gs のデバイス 分離を取得します。そして、これは私にとって identify と同じ役割を果たします;できること:

$ 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

...そして、左/右矢印を使用して分離画像を「反復」するだけで、「プレーンブラック」か「リッチブラック」かがすぐにわかります。

これは、 identify に関係なく、 ショー、test.pdf pdflatex から 実際には、テキストの色として「無地の黒」が想定されています (他の区切りは空白です) - ただし、次のようなことを行います:

# 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

... 特定の out_pdfa.pdf が明らかになります 実際には「リッチブラック」があります-つまり、テキストのインクは4つのセパレーションすべてに適用されます! (identify これもRGBとして表示されます)。

だから、このgs/tiffsepが テクニックは identify よりも信頼性が高い :)

注:私は、GhostScript 9.01 を出荷する Ubuntu Natty を使用していますが、tiffsep に厄介なバグがあります。 :バグ 691857 – バージョン 9 で tiffsep がクラッシュします (lab.icc がありません)。これは 9.02 で修正され、9.02 は oneiric のゴーストスクリプトとしてリリースされました。 Natty で 9.02 を使用するには、apt-get を使用して単一のパッケージを更新する方法に従いました。 - 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

バグのある 9.01 バージョンでは、このコマンドでさえ失敗することに注意してください:

$ 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 ...

.. 9.02 では sICCProfilesDir を指定する必要はありません 明示的に。


sdaau さん、PDF を CMYK に変換するために使用したコマンドが正しくありませんでした。代わりにこれを試してください:

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

更新

色変換が期待どおりに機能せず、「カラー スペースをグレーに変換できません。戦略を LeaveColorUnchanged に戻しています」 のようなメッセージが表示される場合 それから...

<オール>
  • Ghostscript はおそらく 9.x バージョン シリーズの新しいリリースです 、
  • ソース PDF は、埋め込まれた ICC カラー プロファイルを使用している可能性があります
  • この場合、-dOverrideICC を追加します

    アップデート 2

    画像に JPEG アーティファクトが表示されないようにするには (以前はなかった)、以下を追加します。

    -dEncodeColorImages=false
    

    コマンドラインに。

    (これはほとんどすべての GS PDF->PDF に当てはまります。 この場合だけではありません。 GS はデフォルトで、PDF 出力を生成するように求められると、新しく構築されたオブジェクトと新しいファイル構造を持つ完全に新しいファイルを作成するため、以前のオブジェクトを単純に再利用するのではなく、pdftk {pdftk です 他の利点もありますが、私の発言を誤解しないでください!} . GS はデフォルトで JPEG 圧縮を適用します -- 最新の Ps2pdf ドキュメント をご覧ください 「ColorImageFilter」を検索します 詳細については...)


    無関係な問題がありますが、現在 CMYK PDF にも苦労しています。

    ここにこの小さなスクリプトを書きました (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"
    

    PDFX_def.ps には次のものが含まれています (ICC プロファイルを削除し、FOGRA39 を定義しました。これで問題ありません):

    %!
    % $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
    

    識別し、CMYK 色空間を正しく報告します。前:

    [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
    

    後:

    [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
    

    これは gs 9.04 を搭載した 64 ビット Gentoo です。

    ソース PDF はinkscape pdf エクスポートに由来し、色は ECI ISO コーティング v2 でカバーされているものに制限されていました。これを、inkscape の CMYK エクスポートの欠如とプリプレス対応の PDF/X 出力の欠如の回避策として使用します...


    Linux
    1. Linuxでコマンドラインを使用してPDFをJPGに変換するには?

    2. LinuxでPDFからOCRでテキストを抽出するには?

    3. Linux 用の分割画面付き PDF リーダー

    1. Ghostscript を使用して PDF を白黒に変換する

    2. 白い背景のイントロ透明度を変換せずに PDF を PNG に変換する方法

    3. 識別ファイルを使用してピアによって sshfs 接続がリセットされる

    1. このコマンドライントリックでPDFサイズを縮小する

    2. Ddでバイナリにパッチを適用しますか?

    3. Linux で Densify を使用して PDF ファイルを圧縮する