2017-05-31 115 views
0

我的目標是從用戶處取得任意PDF,並保存爲PDF/A-2b。PDF to PDF/A-2b without dUseCIEColor

目前的方法是使用Ghostscript 9.21(通過ghost4j)創建轉換後的文件。這工作但不是沒有一些問題。我將它與Ghostscript的兩組不同的參數一起使用。

首先

使用如下所示將工作,併產生有效的PDF/A-2b的與幾個不同的測試文件的選項-dUseCIEColor。然而,這會將錯誤頁面打印到日誌中,表示不推薦使用。

這些都是完整的參數:

-dBATCH 
-dNOPAUSE 
-dPrinted=true 
-sDEVICE=pdfwrite 
-dPDFACompatibilityPolicy=1 
-sColorConversionStrategy=/UseDeviceIndependentColor 
-sProcessColorModel=DeviceCMYK 
-sOutputICCProfile=/tmp/icc.icc 
-sOutputFile=/tmp/result.pdf 
-dPDFA=2 
-dUseCIEColor 
/tmp/PDFA_def.ps 
/tmp/test.pdf 

而且PDFA_def.ps是默認的供應商9.21,指向同一個ICC配置文件,這行底部:

<</NeverEmbed []>> setdistillerparams 

的ICC配置文件是由Adobe發佈的隨機(CMYK)配置文件。

這有效,除了日誌中的錯誤。

其次

然後,我會努力做到的日誌錯誤告知,並刪除-dUseCIEColor

現在一些測試文件工作,一些不會。我懷疑這與原始PDF的顏色配置文件或類似的東西有關。

3-height給出驗證錯誤:使用沒有適當輸出意圖的設備特定顏色空間(DeviceRGB)。

這可以通過切換-sProcessColorModel=DeviceRGB並將ICC配置文件切換到隨機RGB配置文件來糾正。

然後,對於其他文檔,您將收到錯誤:使用沒有適當輸出意向的設備特定顏色空間(DeviceCMYK)。

有什麼我很想念這個嗎?似乎我需要切換基於原始PDF文件的選項,這將遠離首選樣式。如果它有幫助,我也可以使用黑白PDF/A-2b。謝謝!

回答

1

無法看到文件時無法說出問題所在。 UseCIEColor是一種可怕的PostScript破解方法,它嘗試和做色彩管理,它不可靠(在顏色方面),並且會有效地擊敗任何真實的色彩管理。很明顯,你不是在執行色彩管理,因爲你使用的是隨機配置文件,但都是一樣的......

因爲你不太關心色彩管理,所以我會建議用UseDeviceIndependentColor而不是UseDeviceIndependentColor來選擇CMYK (因爲這是您使用的ProcessColorModel)。請注意,如果選擇ColorConversionStrategy =/CMYK,則不需要設置ProcessColorModel,這是從轉換中假定的。我不得不建議你打開一個錯誤報告。如果人們不報告問題,那麼他們將不會得到解決......

+0

感謝您的答覆。省略sProcessColorModel將導致另一個驗證錯誤:「N的值爲3,但必須爲4」,即使使用dUseCIEColor也是如此。沒有它,你會得到這個和以前的錯誤。我會檢查一個錯誤報告,現在我想我們會用dUseCIEColor。 – kallehj

+0

您是否將ColorConversionStrategy更改爲/ CMYK?因爲它設置了ProcessColorModel。這聽起來像你有ICC配置文件在那裏沒有被轉換爲設備空間。如果將ColorConversionStrategy設置爲UseDeviceIndepenedentColor以外的其他值,則不會發生這種情況,但如果不這樣做可能會發生。說實話,我真的需要看到一個示例文件來幫助。 – KenS