所以在这里我的问题:我有一个pdf文件作为我从服务器获取的base64字符串。我希望使用此字符串将PDF直接显示到浏览器,或者在单击链接时为其提供“另存为...”选项。这里我正在使用的代码:在JavaScript客户端保存base64字符串作为PDF
<!doctype>
<html>
<head>
<title>jsPDF</title>
<script type="text/javascript" src="../libs/base64.js"></script>
<script type="text/javascript" src="../libs/sprintf.js"></script>
<script type="text/javascript" src="../jspdf.js"></script>
<script type="text/javascript">
function demo1() {
jsPDF.init();
jsPDF.addPage();
jsPDF.text(20, 20, 'Hello world!');
jsPDF.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
// Making Data URI
var out = jsPDF.output();
var url = 'data:application/pdf;base64,' + Base64.encode(out);
document.location.href = url;
}
</script>
</head>
<body>
<a href="javascript:demo1()">Run Code</a>
</body>
</html>
它与Chrome和Safari的工作正常。 Firefox确认PDF但不显示它,因为FF要求存在扩展名,但在这种情况下数据URI没有。我坚持这里的原因,如果铬和Safari浏览器得到它的工作,那么必须有一个FF和IE的解决方案
我知道有一些相关的问题,但不是确切的一个,现在也是一个有点旧的。我知道一个解决方法是在服务器端生成pdf,但我想在客户端生成它。
那么请聪明的人,是否有可能通过一些黑客或额外的JS下载插件?
hellow ???没有任何人有一些答案的th thr ..可能是约翰resig ;-) – owsata 2012-07-11 07:56:06
@owsata,同样的问题在这里!它只是打开窗户!你有没有找到解决你的问题?请告诉我们。谢谢 – 2012-12-13 18:09:49
@FabioMilheiro Nope没有发现任何有用的东西。最终的结果是,因为浏览器以不同的方式处理数据:应用程序的想法,所以一开始就没有多少使用它。所以最后的手段 - >从服务器发送现成的pdf。 – owsata 2012-12-20 13:06:44