2013-01-03 57 views
2

我正在研究C#桌面應用程序,我需要更改某些打印機設置並打印一些圖片。在我的程序中,我已經可以設置紙張大小,打印機名稱等...如果我進入打印機首選項的高級選項,有一個名爲「打印機功能」的部分。我無法弄清楚如何訪問打印機設置中的參數。例如有「邊框」,「外套完成」,「2英寸切割」等。具體而言,我感興趣的是「2英寸切割」。以編程方式設置打印機功能

enter image description here

有誰知道我可以在運行時這些性能得到什麼?

謝謝

UPDATE 我改變了這個局面,並質疑一點點更加具體。

+3

據我所知,使用DEVMODE API調用:( – Mr47

回答

0

好吧,所以我遇到了一個對我來說效果很好的解決方案,希望這可以幫助其他人。

經過一番研究,我發現我的打印機沒有設置爲允許通過驅動程序訪問這些功能。因此,我所做的是在打印機和Windows中的設備中創建第二個配置文件,該配置文件使用相同的驅動程序連接到同一端口上的同一臺打印機。然後在我的程序中,我只需根據我的需要選擇不同的打印機配置文件。奇蹟般有效。

感謝大家的貢獻。

0

您可以使用DEVMODE結構的dmPrintQuality成員設置打印機質量。其他打印機功能可能不適用於所有打印機。某些打印機驅動程序可能會暴露與其他打印驅動程序完全不同的屬性這通常使用上述結構的dmDriverExtra extra成員完成。作爲MSDN說dmDriverExtra是專用打印機的數據:

包含了按照這一 結構私人司機,數據的字節數。如果設備驅動程序不使用設備特定的 信息,請將此成員設置爲零。

+0

這是否意味着如果驅動程序支持的話,我可以訪問此功能? – Vandel212

+0

驅動程序解釋這些「司機專用」性質「因爲它選擇」,以通過_dmDriverExtra_。所以,你的驅動程序可能有先進的功能「大衣完成」,「2英寸切」等,這是其他驅動程序中不可用,不能由Api訪問,因爲它們不是通用的所有驅動程序 – stamhaney

+0

我明白了,所以我需要利用dmDriverExtra來操縱這些設置然後? – Vandel212

相關問題