別的地方轉(zhuǎn)來的!~ 不過我們以前做的時候 都是在打印機(jī)里增加一種打印紙 然后就可以選了!~
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的源匯網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
一下轉(zhuǎn)載內(nèi)容!~~~
水晶報(bào)表-強(qiáng)大而成熟,但是多少男兒漢敗倒在他的自定義紙張?jiān)O(shè)置上。
1:水晶報(bào)表是紙形打印。所以自定義紙張類打印肯定要在電腦上增加對應(yīng)的紙張才行(手動加還是代碼加這個不管)
2:紙張分3種系統(tǒng)內(nèi)建(不可更改),自定義,打印機(jī)自帶。很遺憾的是水晶只認(rèn)系統(tǒng)內(nèi)建的。
3:打印機(jī)一般分2種。1普通噴墨的A4,2有聯(lián)單的針式
4:注意水晶報(bào)表不是所見所得的,預(yù)覽的紙張是什么不一定打印的就是什么紙張(受3方影響。打印機(jī)、報(bào)表內(nèi)設(shè)置、PAPERSIZE 屬性,三者之間關(guān)系不詳)。
5:對于第一種A4紙張。沒什么好說的系統(tǒng)內(nèi)建紙型。水晶報(bào)表認(rèn)。直接指定就行
6:對于第二種聯(lián)單的自定義型一般專機(jī)專用,當(dāng)然是建好紙張讓打印機(jī)默認(rèn)自己建的紙張為默認(rèn)首選了。
7:然后設(shè)置水晶報(bào)表使用打印機(jī)默認(rèn)的紙張PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize
以上能保證專機(jī)專紙的任何打印。:要注意第4點(diǎn)。如果你是自定義紙而且要預(yù)覽要保障預(yù)覽和打印都用指定的紙張,那么預(yù)覽時你得指定PaperSize=你自定義紙張的索引號。打印的時候又改成CrystalDecisions.Shared.PaperSize.DefaultPaperSize
8:如果你想一個打印機(jī)多個自定義紙張那么用API吧動態(tài)改變打印機(jī)的默認(rèn)紙張,根據(jù)以上拐2彎就能實(shí)現(xiàn)了遺憾的是網(wǎng)絡(luò)打印機(jī)的話就沒折了。o(︶︿︶)o 唉
“報(bào)表寬度大于紙的寬度”是因?yàn)槟愕膁atareport寬度實(shí)際大于紙張的寬度,設(shè)置一下,(最笨的方法就是改變頂上的標(biāo)尺位置直到,不提示“報(bào)表寬度大于紙的寬度”)如下圖:(圖中的位置我試過了,可以的)
Orientation屬性
該值指出文檔是以縱向還是橫向的方式被打印。在設(shè)計(jì)時是不可用的。
屬性有下列值,及表示的含義:
1 ? ?
文檔打印以紙的窄邊作頂部 ?
2 ? ?
文檔打印以紙的寬邊作頂部。 ?
希望對你有幫助!有問題可以給我發(fā)郵件qeelin@qq.com
我是VB.NET 2010版本
窗體上添加一個按鈕,代碼如下:
Imports System.Drawing.Printing
Public Class Form1
'采用關(guān)鍵字WithEvents聲明一個PrintDocument對象,會引發(fā)它的PrintPage事件
Private WithEvents My_PrintDocument As PrintDocument
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'實(shí)例化PrintDocument對象
My_PrintDocument = New PrintDocument
'顯示默認(rèn)的打印機(jī)名稱
MsgBox(My_PrintDocument.PrinterSettings.PrinterName)
'顯示默認(rèn)的打印機(jī)紙張類型名稱
MsgBox(My_PrintDocument.DefaultPageSettings.PaperSize.ToString)
End Sub
End Class
首先:
用VB控制針式打印機(jī),這個不是VB功能,控制硬件打印,同時控制紙張,你會用到VC的相關(guān)知識,比如接口,DLL調(diào)用,以及打印接口控制等等。
其次,
打印紙張控制,類似于報(bào)表,需要你深入的了解。