2010-03-05 99 views
0

我想找到一種方式來打印存儲爲BLOB的文檔,而不必先打開它,文件名也存儲起來,所以我有可用文件的擴展名。我唯一的想法是將其保存在用戶臨時文件夾中,然後將PrintDocument類指向它,但是確保這是更好的方法。

謝謝所有人的貢獻。打印一個BLOB文檔

+0

你真的想打印出文件來源嗎?這是什麼類型的文件?如果它很大,那就是很多樹木。如果您確實想要正確打印文件格式(如圖像或文檔),則需要通過某種能夠解釋該文件的軟件來運行它。 – 2010-03-05 09:56:54

+0

@ AndrewM我想打印任何文件,所以如果它的.doc文件它將打印像一個文件文件,如果它的.jpg它會打印一個圖像等... – Chiefy 2010-03-05 13:49:11

回答

0

既然你有文件名,你可以嘗試使用ShellExecute打印文件。不過,您必須將其保存到臨時位置。

我也認爲它與使用PrintDocument沒有多大區別,因爲它也使用文件類型的默認Print操作。另外,我認爲你將不得不挑戰它。

+0

我希望避免保存文件到一個臨時位置,這種方式會得到與使用PrintDocument相同的結果,但肯定會更難? – Chiefy 2010-03-05 13:50:03

+0

我認爲這會更好的表現明智,因爲你將從win32 api禁止。如果從vC++完成,它會更容易。但方便起見,堅持使用PrintDocument會更好(特別是如果您使用C#或VB)。但是,我不認爲你會有選擇,因爲要打印文檔,你必須知道如何打印它: - 通過它的文件類型和使用默認操作,如你已經在做 - 或通過打開用於創建它的應用程序 – maranas 2010-03-05 13:56:24

+0

好的謝謝你的幫助,我猜想PrintDocument會在C#中發揮作用。 – Chiefy 2010-03-05 14:53:12