PB11.5做web開發中列印的功能完全不同於原先的windows程式。
在web開發中,列印首先要在伺服器端建立一個pdf檔案,再通過用戶端瀏覽器開啟這個pdf檔案來進行列印,當然也可以把pdf檔案下載的本地再列印。
可以支援函數有Print, PrintCancel, PrintClose, PrintDefineFontDefine, PrintLine, PrintOpen, PrintOval, PrintPage, PrintRect, PrintRoundRect, PrintSetSpacing, PrintText, PrintWidth, PrintX, PrintY. PrintSetFont
當程式中調用了列印函數,即在視窗的右上方會出現印表機的表徵圖,點擊它會彈出列印管理的視窗,點擊開啟所要列印的pdf即可
但是需要說明的是,伺服器中必須安裝一個虛擬印表機,sybase要求安裝(或者也可以認為是推薦)ghostscript 支援輸出PDF類型的列印輸出: ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs851/gs851w32.exe ,並且將印表機命名為“Sybase DataWindow PS”,其實這個是datawindow列印中的預設印表機設定,當然也可以修改為其他名,不過我建議初次使用還是完全按照sybase的要求來做,這樣會避免出現其他問題。
ghostscript 的具體安裝說明稍等兩天補上。。。。
今天補上這個
1、下載ghostscript 可以選擇最新的,注意看下載的版本,我是用windows的
2、在IIS伺服器上安裝GS。我是在自己的機器上安裝的,全部用的是預設
3、安裝印表機。在"控制台">"印表機和傳真">"添加印表機",這過程中把那個自動檢測的勾去了,連接埠預設的LPT1就可以。驅動選擇要選從"磁碟安裝">"Sybase/Shared/PowerBuilder/drivers",
此時選擇Adobe廠商的inf檔案"ADIST5.INF",讀取到五個驅動:
"Acrobat Distiller",
"Acrobat Distiller CS",
"Acrobat Distiller CT",
"Acrobat Distiller J",
"Acrobat Distiller K"
選擇第一個"Acrobat Distiller"(其它四個也可以,有什麼區別到現在偶還不知道),下一步即可>"安裝完畢"
4、把新裝的列印設為預設的,然後重新命名為Sybase DataWindow PS;
如果伺服器中沒有安裝上述的這個印表機,則會出現這樣一個錯誤: SaveAS did not complete successfully,return code is:-1。
另一種下載方式:給一個簡單的調用代碼
if ds_report.RowCount() > 0 then
#if defined PBWEBFORM then
if ds_report.SaveAs("myreport.pdf", PDF!, TRUE) <> -1 then
DownloadFile("myreport.pdf", true)
end if
#else
ds_report.Print()
#end if
end if