VB編程步步高-打印篇(二)

字號:

快速打印多個拷貝
     當以TrueType字體打印一個文檔時,系統(tǒng)將下載打印機需要的字體,這樣做將花費很長的時間。你可以通過在一個打印機文檔中打印所有的拷貝實現(xiàn)快速打印多個拷貝內(nèi)容:
     For i = 1 To num_copies
     注釋: Print the document here...
     Printer.NewPage
     Next i
     Printer.EndDoc
     打印灰色行和區(qū)域
     黑白打印機不能打印灰色行,但是能通過發(fā)抖處理來創(chuàng)建灰色區(qū)域。為了創(chuàng)建圍繞一個區(qū)域的一個灰色邊界,使用DrawStyle=vbInvisible(5)來繪制一個窄灰色框,這樣就沒有了邊界。
     設置打印的邊界
     使用打印的scale熟悉來設置邊界。設置了這個屬性后,坐標(0,0)就映射到你需要加邊的地方。比如,下面的代碼設置左邊界為0.5英寸,上邊界為0.75英寸。然后再乘以1440轉(zhuǎn)換為twip。
     Printer.ScaleLeft = -0.5 * 1440
    Printer.ScaleTop = -0.75 * 1440
    Printer.CurrentX = 0
    Printer.CurrentY = 0
     很遺憾,打印機不能精確地按照你所想的進行打印。試一試使用下面的命令在左上角打印一個1英寸大小的方塊:
     Printer.Line (1440, 1440)-Step(1440, 1440)
     看看偏離了多少。試一試多打印幾次,如果發(fā)現(xiàn)打印機有一定規(guī)律的偏離,你就可以按照一定的差額進行增減來達到的效果。
     提供打印預覽
     建立打印程序時,先設置一個要繪制的對象做為參數(shù),然后傳遞給程序一個打印的對象。
     為了實現(xiàn)預覽效果,傳遞給程序一個隱藏PictureBox。然后,根據(jù)需要的比例,使用PaintPicture拷貝這個隱藏圖形到一個可見的PictureBox。在隱藏PictureBox上按照全尺寸繪制圖形,首先允許你按比例決定了字體,并且,也實現(xiàn)了不失真地完成其他圖形的描述。