Javascript 将SVG模式保存为PDF和PNG

Javascript 将SVG模式保存为PDF和PNG,javascript,pdf,svg,png,Javascript,Pdf,Svg,Png,我有一个华丽的图案,用户可以移动滑块来画内圈,花瓣和花朵也会改变。我有3个“另存为”按钮。第一个SVG工作得很好。另外两个只做了一半。保存的文件以适当的格式显示,但随后它没有打开,表示有错误。所有3个JS函数几乎都是相同的–我基本上是从正在工作的第一个函数复制它们的。我不确定该纠正什么——可能是“新Blob”格式,但我不确定该改成什么。 总而言之: •如何使用“另存为SVG”按钮来处理PDF和PNG? 这是我的JS,用于半工作PDF按钮: function downloadPdf(){ var

我有一个华丽的图案,用户可以移动滑块来画内圈,花瓣和花朵也会改变。我有3个“另存为”按钮。第一个SVG工作得很好。另外两个只做了一半。保存的文件以适当的格式显示,但随后它没有打开,表示有错误。所有3个JS函数几乎都是相同的–我基本上是从正在工作的第一个函数复制它们的。我不确定该纠正什么——可能是“新Blob”格式,但我不确定该改成什么。 总而言之: •如何使用“另存为SVG”按钮来处理PDF和PNG? 这是我的JS,用于半工作PDF按钮:

function downloadPdf(){
var svg = document.getElementsByTagName("svg")[0];
var svg_xml = (new XMLSerializer).serializeToString(svg);
var blob = new Blob([svg_xml]);
var url = window.URL || window.webkitURL;
var blobURL = url.createObjectURL(blob);
var a = document.createElement('a');
a.download = "Pattern.pdf";
a.href = blobURL;
document.body.appendChild(a);
a.click();
}

您必须创建PNG响应。先看PDF。对于PNG,可以使用画布绘制图像,然后将画布内容检索为PNG,也可以使用库。对于PDF,您必须使用库。

请参阅,第一个链接非常巨大。它似乎做了一些非常类似我的JS,但在一个循环的方式。第二个链接根本不包括SVG,单独模式。两者都使用画布。没有它我能做吗?因为我离答案不远。我的JS实际上可以工作并保存为PDF格式,只是在之后不会打开。但是谢谢你answering@pavel