2016-04-23 74 views
0

我使用tcpdf將svg圖像插入到pdf中。而tcpdf使用此命令使用php或任何命令或使用tcpdf將svg轉換爲cmyk

$pdf->ImageSVG 

rgb寫的PDF,但我想將其轉換爲cmyk。所以我想我有2個辦法做到這一點,

1)轉換SVG爲CMYK

爲此,我試過這個命令

shell_exec("convert {$svgPath} -profile 'Canon_iPF_5000_-_iPF_8000_-_iPF_9000.icc' {$svgoppath}"); 

但不工作

2)在寫作svg時將pdf轉換爲cmyk

我試圖在google r egarding這,但沒有適當的文件tcpdf強制寫pdf在cmyk

有沒有更好的辦法來實現這一目標?

+0

https://www.w3.org/TR/SVG/color.html#ColorProfileElement – Kaiido

+0

@Kaiido感謝您通過我的情況,svg正在生成autoamtic,所以我應該附加或插入或更新什麼代碼SVG?我有許多元素在svg中,比如' \t \t 在此輸入文字 \t''''''''''''' – hemsbhardiya

+0

好的,謝謝@Kaiido感謝。 – hemsbhardiya

回答

1

轉換爲色彩空間的PHP方法是使用iMagick的setimagecolorspace,這相當於exec(convert....。如果選項1)不起作用,則機會是setimagecolorspace也會失敗。

確保imagemagick庫&實用程序安裝在服務器上,否則你會花幾個小時調試沒有損壞的代碼。

+0

我已經在服務器上安裝了imagick,並試着使用這段代碼,'$ image = Config :: get('constants.paths.uploads.images.base')。「/ test.svg」; \t $ image2 = Config :: get('constants.paths.uploads.images.base')。「/ test_new。SVG「; \t \t $ IMagick =新IMagick(); \t \t $ IMagick->明確(); \t \t $ IMagick-> readImage($圖像); \t \t $ icc_cmyk = LTRIM(配置::得到( 'constants.paths.uploads.images.base') '/ 1.icc', 「/」);。 \t \t $ IMagick-> profileImage( 'ICC',$ icc_cmyk); \t \t //未設置( $ icc_cmyk); \t \t $ IMagick-> transformImageColorspace(12); \t \t $ IMagick-> writeImage($ image2) ;'但出錯'ColorspaceColorProfileMismatch'icc'' – hemsbhardiya

+0

這裏是錯誤鏈接https://www.printhubpro.co.uk/ajax/svgtest – hemsbhardiya

+0

'$ icc_cmyk = file_get_contents(.....)'而不僅僅是一個文件路徑 –

相關問題