使用jSignature进行签名输入以插入Excel

时间:2018-02-18 13:46:33

标签: php excel png jsignature

我使用jSignature在我的网站上签署表单中的客户端签名。 然后,当单击表单中的提交按钮时,我获得svg64格式的签名,然后我将其传递给php页面。 这一切都有效,但现在我必须将引用svg图像的字符串转换为可以放入Excel文件的图像(也可以在php中自动生成)。

这是我必须转换的svg的一个例子

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

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

1 个答案:

答案 0 :(得分: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.';
  }