地理图表保存为图像或pdf工作在chrome中但不在Firefox浏览器中

时间:2014-11-12 14:02:12

标签: javascript pdf html5-canvas google-visualization

我正在使用以下JavaScript代码,请有人告诉我改进这一点 是否可以将整页保存为pdf? 实际上图像(图像/八位字节流)没有任何格式,如* .png或* .jpg 所以请有人改进我的代码并建议一些更改,以便它也能在firefox上运行。

function getImgData(chartContainer) {
              var chartArea = chartContainer.getElementsByTagName('svg')[0].parentNode;
              var svg = chartArea.innerHTML;
              var doc = chartContainer.ownerDocument;
              var canvas = doc.createElement('canvas');
              canvas.setAttribute('width', chartArea.offsetWidth);
              canvas.setAttribute('height', chartArea.offsetHeight);


              canvas.setAttribute(
                  'style',
                  'position: absolute; ' +
                  'top: ' + (-chartArea.offsetHeight * 2) + 'px;' +
                  'left: ' + (-chartArea.offsetWidth * 2) + 'px;');
              doc.body.appendChild(canvas);
              canvg(canvas, svg);
              var imgData = canvas.toDataURL("image/png");
              canvas.parentNode.removeChild(canvas);
              return imgData;
          }

          function saveAsImg(chartContainer) {
              var imgData = getImgData(chartContainer);

              // Replacing the mime-type will force the browser to trigger a download
              // rather than displaying the image in the browser window.
              window.location = imgData.replace("image/png", "image/octet-stream");
          }

          function toImg(chartContainer, imgContainer) {
              var doc = chartContainer.ownerDocument;
              var img = doc.createElement('img');
              img.src = getImgData(chartContainer);

              while (imgContainer.firstChild) {
                  imgContainer.removeChild(imgContainer.firstChild);
              }
              imgContainer.appendChild(img);
          } 

还有一个人认为我没有使用MVC。在一个简单的vb.net网站上工作

0 个答案:

没有答案