欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點(diǎn)晴永久免費(fèi)OA]C#實(shí)現(xiàn)自定義打印文字和圖片的示例代碼

admin
2022年7月29日 9:28 本文熱度 1082
文章簡(jiǎn)介:本文主要介紹了C#實(shí)現(xiàn)自定義打印文字和圖片的示例代碼,C#中打印其實(shí)就是自己繪圖+調(diào)用系統(tǒng)打印函數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

C#中打印其實(shí)就是自己繪圖+調(diào)用系統(tǒng)打印函數(shù),于是便有了以下操作:

1.調(diào)用打印機(jī)設(shè)置

如果你想在打印前設(shè)置打印機(jī)屬性(或者切換打印機(jī)),請(qǐng)務(wù)必添加這段代碼,否則電腦會(huì)直接按照預(yù)設(shè)的設(shè)置進(jìn)行打印(打印機(jī)都沒法選)

1
2
3
4
//打印機(jī)設(shè)置
PrintDialog printDialog = new PrintDialog();
printDialog.Document = ptDoc;
printDialog.ShowDialog();

ptDoc就是打印的文件內(nèi)容,會(huì)在后面解釋。

2.關(guān)聯(lián)文檔

等于我們需要新建一個(gè)空白的畫布,然后把我們需要的文字,圖片,線條依次擺上去

1
2
3
PrintDocument ptDoc = new PrintDocument();
ptDoc.DocumentName = "測(cè)試文件";//在隊(duì)列中顯示的名字
ptDoc.PrintPage += PtDoc_PrintPage;//關(guān)聯(lián)內(nèi)容生成方法

3.繪制內(nèi)容

本次測(cè)試的內(nèi)容分為:橫排文字,豎排文字,圖片,具體內(nèi)容和位置可以通過修改參數(shù)進(jìn)行調(diào)整

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
private void PtDoc_PrintPage(object sender, PrintPageEventArgs e)
{
    e.Graphics.Clear(Color.White);
    // 開始繪制文檔
    // 默認(rèn)為橫排文字
    e.Graphics.DrawString("標(biāo)題:打印測(cè)試",
                            new Font(new FontFamily("宋體"), 40, FontStyle.Bold),
                            System.Drawing.Brushes.Red,
                            170, 10);
    // 橫線
    e.Graphics.DrawLine(Pens.Black, 20, 110, 800, 110);
    // 豎排文字
    e.Graphics.DrawString("內(nèi)容",
                            new Font(new FontFamily("宋體"), 14, FontStyle.Bold),
                            System.Drawing.Brushes.Black,
                            20, 120,
                            new StringFormat(StringFormatFlags.DirectionVertical));
 
    e.Graphics.DrawString( this.txtName.Text,
                new Font(new FontFamily("宋體"), 14, FontStyle.Bold),
                System.Drawing.Brushes.Black,
                20, 200);
 
    //e.Graphics.DrawImage(Image.fromFile(Path), 20, 250, 800, 100);    //會(huì)造成失真
    Image imgsample = Image.fromFile(Path);
    Point pt = Zoom(imgsample.Width, imgsample.Height, 200);
    e.Graphics.DrawImage(imgsample, 20, 250, pt.X, pt.Y);//直接打印可能出現(xiàn)太大打印不下
}

        同時(shí)直接打印圖片的話可能造成圖片太大,可以寫一個(gè)縮放方法來限制圖片的最大尺寸

1
2
3
4
5
6
7
8
9
10
private Point Zoom(int x, int y,int maxWidth)
{
    Point pt = new Point(x, y);
    while (pt.X > maxWidth)
    {
        pt.X /= 2;
        pt.Y /= 2;
    }
    return pt;
}

最后結(jié)果如下:


 到此這篇關(guān)于C#實(shí)現(xiàn)自定義打印文字和圖片的示例代碼的文章就介紹到這了。


該文章在 2022/7/29 9:29:00 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved