所以这是我的问题:我有一个 pdf 文件作为我从服务器获取的 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 需要存在扩展名,但在这种情况下 data-URI 没有。我在这里坚持的原因,如果 chrome 和 safari 让它工作,那么必须有 FF 和 IE 的解决方案
我知道有一些相关的问题,但不是真正的确切问题,现在也有点老了。我知道一种解决方法是在服务器端生成 pdf,但我想在客户端生成它。
那么请聪明的人,是否有可能通过一些黑客或额外的JS下载插件?