2010-06-22 60 views
5

我不假設有任何可以計算PDF文件上的CMYK覆蓋率的免費或開源庫。我試着環顧四周,我似乎無法找到任何東西。如果沒有任何人出現,如果有人能指出我正確的方向,那麼我需要做什麼才能計算CYMK的pdf覆蓋率。哦,還開發環境我會在合作是.NET框架4.0計算PDF上的CMYK覆蓋率

乾杯

+0

我認爲可以使用Adobe SDK完成,唉,我不知道更多。你最終弄清楚了嗎? – 2011-03-20 18:40:39

回答

2

您可以使用Ghostscript。以分辨率爲72dpi的tiffseptiffsep1設備運行。這將爲每個CMYK着色劑,然後可以進一步使用「計數」的覆蓋範圍爲每種顏色獨立的TIFF文件:

gswin32c.exe^
    -sDEVICE=tiffsep^
    -r72x72^
    -o "c:/path/to/output/dir/page_%03d.tif"^
    c:/path/to/input.pdf 

該裝置產生多個輸出文件。它創建:

  1. 一個32位的複合CMYK文件(tiff32nc格式,它是32位CMYK [8位/組分]),外加
  2. 多個tiffgray文件 - 一個tiffgray(其是8位灰度,LZW壓縮)爲每種顏色分離。

tiffgray文件是LZW壓縮的。 -sOutputFile=...指定的文件名將是CMYK文件。用於CMYK着色劑的分離'tiffgray'文件的名稱將在該名稱後附加'.Cyan.tif','.Magenta.tif''.Yellow.tif'和'.Black.tif'。 tiffsep還自動識別專色併爲它們創建更多tiffgray分色;這些名稱附有一個數字。 (您也可以通過在命令行上傳遞-sSeparationColorNames來預先確定名稱 - 但是您最好在Ghostscript的文檔Devices.htm中查看詳細信息)。

如果使用tiffsep1輸出設備,其結果將是類似的 - 不同的是,你會得到灰分離(無32位複合CMYK),但這些將是TIFF G4文件(G4壓縮方案)。

您可以通過添加-sCompression=lzw(或none | crle | g3 | g4 | pack之一)來更改壓縮方案。請注意,使用=none進行壓縮將爲每個分色着色器創建相同大小的文件。

3

好的,現在有一個新的選項(自從幾天前)與Ghostscript爲所有願意從源頭編譯它的人。它仍然是「流血的邊緣」,不建議用於生產性用途。其他人將不得不等待下一次正式發佈。

新選項採用名爲inkcov的新「設備」形狀。這與'bbox'設備類似,它爲每個頁面吐出BoundingBox值:'inkcov'設備吐出用於每頁的油墨覆蓋率的C,M,Y和K值(值爲1對應於100 %)。請注意墨水的總和可能高於100%(例如:將100%的黃色與100%的洋紅色混合在一起給出100%'紅色'的光學印象)。

試試這個命令與current Git source編制了Ghostcript:

gs -o - -sDEVICE=inkcov /path/to/your.pdf 

這將吐出類似於輸出這一項:

Page 1 
0.20898 0.20905 0.41320 0.55001 CMYK OK 
Page 2 
0.33561 0.02026 0.21677 0.16750 CMYK OK 
Page 3 
0.00000 0.00000 0.00000 1.00000 CMYK OK 
[....] 

這個小工具已經從創建塞巴斯蒂安Kapfer埃爾蘭根大學並貢獻了Ghostscript源代碼。 (當然,它仍在等待一些繁重的測試和驗證,將其結果與其他類似的工具進行比較。)

+1

是否也可以輸出CMYK和點/特殊顏色,還是僅限於CMYK? – 2012-10-29 15:57:10