0

我正在使用 jSignature 在我的网站上以表格形式获取客户的签名。然后,当单击表单中的提交按钮时,我得到 svg64 格式的签名,然后将其与 post 一起传递到 php 页面。这里一切正常,但现在我必须将引用 svg 图像的字符串转换为可以放入 Excel 文件的图像(这在 php 中也是自动的)。

这是我必须转换的 svg 示例

image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMzc1IiBoZWlnaHQ9IjM4Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNIDEgMSBjIDAuOTggMC4wMyAzNi43MyAwLjg4IDU2IDIgYyAxNi4yMiAwLjk1IDMwLjk2IDMuMDYgNDcgNCBjIDcuMTQgMC40MiAxMy45OSAtMC40IDIxIDAgYyA0LjcyIDAuMjcgOS4yMSAxLjcyIDE0IDIgYyAzMC4xNyAxLjc2IDU4LjQ3IDIuMDggODkgNCBjIDEzLjA5IDAuODIgMjQuOTIgMi45MSAzOCA0IGMgNy41NCAwLjYzIDE1LjI5IC0wLjA4IDIyIDEgYyAzIDAuNDggNS45MiAzLjAyIDkgNCBjIDQuMTggMS4zMyA4LjU3IDIuMzEgMTMgMyBjIDYuMzUgMC45OSAxMi42OCAwLjg0IDE5IDIgYyAxMC4xOCAxLjg3IDIwLjE5IDUuMDkgMzAgNyBjIDEuOTEgMC4zNyA0LjE1IC0wLjM3IDYgMCBsIDkgMyIvPjwvc3ZnPg==

我能怎么做?是否可以获得可以自动保存在 Excel 文件中的图像?

4

1 回答 1

0

至少,我用这个解决了它

//Acquisizione dati dal form
$name = $_POST['name'];
echo "$name";
$signature = $_POST['signature_value'];    
$data = str_replace('data:image/png;base64,', '' , $signature);
$data = base64_decode($data);


$output_file="$name.png";
$im = imagecreatefromstring($data);
  if ($im !== false) {
      imagealphablending($im, false);
      imagesavealpha($im, true);
      //header('Content-Type: image/png'); è superfluo, siccome l'immagine non viene mostrata qua
      imagepng($im, $output_file );
      //imagepng($im);
      imagedestroy($im);
  }
  else {
      echo 'An error occurred.';
  }
于 2018-02-19T14:48:13.587 回答