2010-07-10 123 views
2

我需要在HTML中設置一個打印按鈕,打印某個PDF文件,希望不必首先下載文件。我已經嘗試了一些東西,但有些只能在IE中使用。有些需要將文件作爲嵌入式對象下載,這也是不可接受的。在JavaScript中嵌入JavaScript聽起來最有前途,但我寧願避免,如果可能的話,由於其他原因。在打印PDF文件的瀏覽器中需要打印按鈕

還有其他想法嗎?

+0

所以情景如下:點擊一個鏈接,出現一個打印提示框?中間絕對沒有? – kamasheto 2010-07-10 05:39:36

+0

是的,無論是一個鏈接或一個按鈕,將在一個「常規頁面」有很多其他信息,但只是提供這個打印按鈕/鏈接作爲一個選項給用戶。 – 2010-07-10 06:07:09

+0

如果您的目標是讓用戶無法保存PDF,請立即放棄。即使你以某種方式迫使他們打印它,「打印機」實際上可以是一個程序在本地磁盤上寫入PDF。 – Borealid 2010-07-10 07:19:50

回答

6

不幸的是,它確實無法完成... PDF不會被任何瀏覽器天真地處理,因此無法使用瀏覽器的打印對話框打印。

您的用戶將不得不下載PDF並使用他們使用的任何PDF軟件(即使它只是瀏覽器的插件)進行打印,除非您將其轉換爲枯燥的舊HTML或圖像或其他東西。

+0

將JavaScript嵌入到PDF中將起作用,至少對於許多機器(我聽說有關Mac的一些問題 - 任何人都知道了?)。這可能是我唯一現實的選擇。 – 2010-07-11 03:36:26

0

如果用戶沒有先下載它,則無法打印內容。

打印機位於連接的用戶端。起初,PDF位於服務器端。

因此,PDF必須通過網絡傳輸到達用戶端,然後打印機才能知道要將哪些墨水放在紙上。換句話說,它必須被下載。

+0

我明白,但不想在用戶點擊打印按鈕之前下載文件,因爲他可能不想打印它。 – 2010-07-10 06:04:40

0

我認爲您可以做的最好的方法是下載PDF到iframe元素,並建議用戶點擊那裏的「打印」按鈕。據我所知,沒有比這更緊密的整合是可能的。不能通過JavaScript訪問PDF查看器的打印按鈕。