當然,寫到這,肯定是能列印了
如果要做到超市小票的列印有以下幾個問題:
1.小票需要在後台列印
2.小票沒有分頁,或者說,小票的長度是0,或者是無限長
後台列印就要用到微軟的那篇文章了,
這篇文章好是好,並且在網上很多版本,但是這段**是有問題的?
private
void
printpage(
object
sender, printpageeventargs ev)
這段**,注意紅色那句,通過printpageeventargs 把通過stream生成的pageimage畫出來的一步,(
printpageeventargs 的屬性是對應的所設定印表機的屬性,例如:設定a4紙,則
pagebounds就是a4紙的大小) ?
ev.graphics.drawimage(pageimage, 0, 0);
這句話的原型應該是
publicvoid
drawimage( image
image, x, y)
在0,0位置把pageimage輸出出來,可事實上根本不行,並且輸出的字型大小,格式都很糟糕,無法控制。
後來看這段**的vb**裡面卻是
ev.graphics.drawimage(pageimage, ev.pagebounds)
我也依葫蘆畫瓢的換成了
ev.pagebounds(是pagebounds不是
marginbounds否則又要出問題)
效果很好,並且把報表應該有的樣式輸出來了,解決了上面提到的問題1.
同時通過頁面設定把 margins都設定成零,問題2也能解決了。
還有乙個問題就是列印的時候,會彈出乙個框,提示」正在列印「,這個問題standardprintcontroller spc
=new
standardprintcontroller(); pdoc.printcontroller
=spc;
通過上面的**就能去掉(
standardprintcontroller 指定乙個列印控制器,它向印表機傳送資訊。)
還是非常感謝這個文章的內容。
下面這篇則是比較全,並且在ev.graphics.drawimage(pageimage, 0, 0);做了修改
至此,應該就能列印出乙個漂亮的報表了,並且速度還行。
WEB應用程式,不預覽,直接列印
1.安裝本地外掛程式lodop 2.引用相應的js檔案lodopfuncs.js 3.呼叫列印方法 lodop getlodop document.getelementbyid lodop ob document getelementbyid lodop em lodop.print init 列印...
C 列印預覽
截圖 本來想用.net提供的列印預覽對話方塊,可終究不如自己寫的用起來方便,比如說新增滑鼠和滾輪支援。在.net環境下實現列印和預覽還是蠻簡單的。需要用到的類是printdocument和printpreviewcontrol printdocument是要列印的文件,printpreviewcon...
flex 列印 預覽
最近研究了一下 flexreport 開源專案,發現存在一下幾個問題 1.列印時 啟動很慢,同時可能出現很多空白頁.2.預覽的效果不是很好,預覽出來的report page 不清楚.3.當資料量很大時,預覽生成很慢.4.對於多列超出紙張大小時,不能夠拆分 5.如果在body 中加入 分頁的效果就會失...