所以在這裏我的問題:我有一個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