情況是這樣,由於客戶的印刷機只支援AI跟PDF檔。
所以我利用了 imagick 來做圖片處理掛入PDF上,原圖片是PNG。
以下是我的程式碼。
$imagesPath = 'test.png';
$imagick = new Imagick($imagesPath);
//分辨率調整
$resoSet = 350; //解析分辨率
$resoHv = $resoSet/72; //調整比例處理
//輸出尺寸處理
$width = 710; //寬
$height = 490; //高
/* 這邊是試著做轉換處理
$imagick->stripImage();
$imagick->setImageColorspace(Imagick::COLORSPACE_SRGB);
$imagick->setImageCompression(Imagick::COMPRESSION_UNDEFINED);
$imagick->setImageCompressionQuality(0);
*/
$imagick->setResolution($resoSet, $resoSet);
$imagick->resizeImage($width*$resoHv,$height*$resoHv,\Imagick::FILTER_SINC ,1);
//這裏原本有加白景處理
//$imagick->setBackgroundColor(new ImagickPixel('white'));
//$imagick->setGravity ( Imagick::GRAVITY_CENTER );
$imagick->extentImage ( $width*$resoHv , $height*$resoHv , 0 , 0 );
$imagick->setImageFormat('pdf');
$pdfPath = 'pdf/test'.date('YmdHis').'.pdf';
$imagick->writeImage($pdfPath);
輸出出來的PDF,再電腦上看都很正常。但客戶拿該檔案去印刷後,就是顏色會變成淡化。
由於我對印刷相關的參數不是很了解。再加上我也沒辦法做印刷測試。畢竟直接開對應的PDF檔來看都是很正常的顏色。雖然我明白看到的並不一定等於印刷出來的。
現在一直不知道問題點在哪。
看看是否有前輩們能提點一下。
========= 20210331 後續補充 ============
經某位美術人員提點。她看完成品,有發現一個重點。
並非是偏色引起淡化。而是因為PNG的透明度問題。
而造成了印刷淡化。
為此,她教我用一招處理。先將PNG圖轉成JPG後再做補色處理後。
再輸出PDF再搭配ICC色彩處理。
經過他的提點重新處理,發現淡化的原因消失了。
雖然還是感覺有點偏色。(因為我還未加上ICC處理)
但至少解決了。感謝各位的幫忙了。
沒有器材很難測試,
光是電腦調亮調暗參數改變,
看到的顏色就不一樣.
或許可以問問印刷廠要怎麼配合,
他們應該有他們的設定參數.
後續客戶有拿一個樣本過來。居然是高解析度的。大約是3000DPI。
一張圖片要接近500MB。
說要跟它一樣。
目前大體上來說,看起來只是單純的DPI問題了。
但開太大對我來說也不是辦法。目前只能麻煩相關人員去跟客戶說明了。
有後續的發展我再說好了。
客戶不是說只能用 pdf 跟 ai 印刷
那麼他們怎麼知道那張 500M 的 png 印出來跟他們想要的一樣?
其實說的也是,
要不要先用其他的軟體來轉看看?
好奇問一下:
我會這樣問是因為 pdf 本身可以直接塞 jepg 原檔進去
如果只是簡單的「留邊、加上文字、縮放」可以不動到任何圖檔資訊
(類似網頁的 css 直接調整邊界、長寬,也可壓上文字)
所以如果圖片來源是他們的員工
並且可以提供 jepg 檔案的話
那麼我再提供作法
補充:
淺水員
你說到問題核心了。
一開始我本來以為圖片是我公司這邊負責的。
所以很盡心的要處理這件事,還想麻煩美工人員來協助處理。
但就在大家莫名奇妙,我也不知道發生什麼事的情況下。
PM才告訴我,其實圖片是客戶自已製作上傳的。
我就一整個矇了....
客戶自己做的話,會加上icc的應該不多
有色偏滿正常的
只能把有附icc的檔案在轉pdf時幫忙附上去
沒有的看有沒有需要提醒印刷可能會有顏色偏差了