有關(guān)網(wǎng)絡(luò)打印 收藏
VFP搜索打印機順序: 報表默認(rèn)打印機(報表內(nèi)保存的) -> VFP默認(rèn)了打印機( Set Printer To 設(shè)置) -> Windows 默認(rèn)打印機 所以要使用網(wǎng)絡(luò)打印機時,首先設(shè)計報表時不要保存報表打印機環(huán)境,方法如下: VFP9.0以下: Use 報表名.frx Replace All Tag With '',tag2 With '' For Objtype=1 Use 重新編譯程序 VFP9.0 頁面設(shè)置中清除打印機環(huán)境 打開報表后, Page Setup 中將 Page Layout 選項卡中的 Save printer environment 選項去掉 重新編譯程序 然后再用 Set Printer To 設(shè)置網(wǎng)絡(luò)打印機吧
如果你要打印的報表是需要人工選擇網(wǎng)絡(luò)打印機,或者說網(wǎng)絡(luò)打印次數(shù)不是很多,可以用如下語句:
lcPrinterName=Getprinter() &&打印前設(shè)定打印機( Getprinter VFP 的默認(rèn)打印機) If !Empty(lcPrinterName) Set Printer To Name (lcPrinterName) Report Form report1.frx Off To Printer Endif 或 Report Form 報表 Off To Printer Prompt Preview &&打印時選擇打印機( Prompt Windows 的默認(rèn)打印機) 如果你要網(wǎng)絡(luò)打印的報表是經(jīng)常的,甚至是無人干預(yù)的,如餐飲業(yè)的廚房打印等,這就要設(shè)定打印機,而且有時還要不停的更改默認(rèn)網(wǎng)絡(luò)打印機,這時就要為了性能考慮一下了:
方法一: Set Printer To Name \\網(wǎng)絡(luò)計算機名稱或IP\共享打印機名稱 &&該子句僅支持運行于 Windows 2000 或更高版本之上的 Visual FoxPro 版本。
如: Set Printer To Name \\192.168.0.8\SharePrinterName1 Report Form 報表.frx Off To Printer 速度一般,每次大約3秒左右, Set Printer To Name 這句快,只不過 Report Form 向網(wǎng)絡(luò)打印機打印時慢了。此方法適合打印次數(shù)比較少情況。
方法二: Set Printer To Name 本地添加的網(wǎng)絡(luò)打印機名稱 或 Run /N rundll32 printui.Dll,PrintUIEntry /Y /N "本地添加的網(wǎng)絡(luò)打印機名稱"
如: Set Printer To Name NetPrinterName1 Report Form 報表.frx Off To Printer 或 Run /N rundll32 printui.Dll,PrintUIEntry /Y /N "NetPrinterName1" Report Form 報表.frx Off To Printer 注:
此種方法速度快,比較適合網(wǎng)絡(luò)打印次數(shù)比較頻繁的情況。 但需要注意的是,本地添加的網(wǎng)絡(luò)打印機名稱不是手工添加的, 而是用 VFP 的 “ Set Printer To Name \\網(wǎng)絡(luò)計算機名稱或IP\共享打印機名稱”方式自動添加的, 或用 Windows 的 Net 命令:“net use \\網(wǎng)絡(luò)計算機名稱或IP\共享打印機名稱”方式自動添加的。 自動添加后的打印機名稱為“在 網(wǎng)絡(luò)計算機名稱 上自動 打印機名稱”,如:“在 PC01 上自動 POS58” 必要時將網(wǎng)絡(luò)打印機名稱改名,以便于程序編寫。 如果這種方式自動添加的網(wǎng)絡(luò)打印機被刪除,再用此方法是無法添加的,只有更改網(wǎng)絡(luò)計算機名稱或IP或共享名后再用此方式添加就可以了,這一點需要注意。 如果機器重裝了或打印機更換了也要用此方法自動添加,不能用手動方式添加。 本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/apple_8180/archive/2010/01/11/5173773.aspx |
|