2016-04-23 1 views
0

J'insère l'image svg en pdf en utilisant tcpdf. Et tcpdf écrit pdf en rgb utilisant cette commandeconvertir svg en cmyk en utilisant php ou toute commande ou en utilisant tcpdf

$pdf->ImageSVG 

Mais je veux le convertir en cmyk. Donc, je pensais que j'ai 2 façon de le faire,

1) convertir svg en CMYK

Pour cela, j'ai essayé cette commande

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

Mais ne fonctionne pas

2) convertir pdf en cmyk tout en écrivant svg

J'ai essayé de trouver dans google r egarding cela, mais pas de documentation appropriée de tcpdf pour forcer l'écriture pdf dans cmyk

Yat-il un meilleur moyen d'y parvenir?

+0

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

+0

@Kaiido merci de passer à travers ma situation, svg génère autoamtic, alors quel code dois-je ajouter ou insérer ou mettre à jour dans svg? J'ai beaucoup d'éléments dans svg comme ' \t \t Tapez ici le texte \t 'qui possède la propriété' fill' dans 'rgb'. – hemsbhardiya

+0

ok merci @Kaiido apprécier. – hemsbhardiya

Répondre

1

La méthode PHP pour convertir en espace colorimétrique est d'utiliser setimagecolorspace d'iMagick qui est l'équivalent du exec(convert..... Si l'option 1) ne fonctionne pas, les chances sont setimagecolorspace échouer aussi.

Assurez-vous que les utilitaires imagemagick de la bibliothèque & sont installés sur le serveur, sinon vous passeriez des heures à déboguer du code qui n'est pas endommagé.

+0

J'ai installé imagick sur le serveur et j'ai essayé ce code, '$ 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 = new Imagick(); \t \t $ IMagick-> clear(); \t \t $ IMagick-> readImage (image $); \t \t $ icc_cmyk = ltrim (Config :: get ('constants.paths.uploads.images.base') '/ de 1.icc', "/"). \t \t $ IMagick-> profileImage ('cci', icc_cmyk de $); \t \t // Détruit ($ icc_cmyk); \t \t $ IMagick-> transformImageColorspace (12); \t \t $ IMagick-> writeImage ($ image2) ; 'mais obtenir l'erreur' ColorspaceColorProfileMismatch 'icc '' – hemsbhardiya

+0

voici le lien d'erreur https://www.printhubpro.co.uk/ajax/svgtest – hemsbhardiya

+0

'$ icc_cmyk = file_get_contents (.....)' et pas seulement un chemin d'accès au fichier –