2013-08-19 38 views
1

我想打印一些像這樣的文字。用字體樣式打印C#

這是如何我想打印文本。

我使用的代碼是

private void button3_Click(object sender, EventArgs e) 
    { 
     stringToPrint = "This is how i want to print the text"; 
     printFont = new Font("Times New Roman", 10); 
     pd.PrintPage += new PrintPageEventHandler(pd_PrintPage); 
     try 
     { 
      pd.Print(); 
     } 
     catch (Exception e) 
     { 
     } 
    } 

void pd_PrintPage(object sender, PrintPageEventArgs ev) 
    { 
     int charactersOnPage = 0; 
     int linesPerPage = 0; 

     ev.Graphics.MeasureString(stringToPrint, printFont, 
      ev.MarginBounds.Size, StringFormat.GenericTypographic, 
      out charactersOnPage, out linesPerPage); 

     ev.Graphics.DrawString(stringToPrint, printFont, Brushes.Black, 
      ev.MarginBounds, StringFormat.GenericTypographic); 

     stringToPrint = stringToPrint.Substring(charactersOnPage); 

     ev.HasMorePages = (stringToPrint.Length > 0); 

    } 

我想改變字體從常規到粗體或給一個下劃線的字符串在一些特定的單詞。

如果還有其他更好的方法來完成這項工作,那麼請告訴我,我會改變我的代碼。 請幫幫我! :)

+0

你是否也有被你打印之前在同一文件中創建多個fontstyles任何成功? –

+0

不,如果我這樣做了,那麼它不會是一個問題! –

+0

您是否收到錯誤,或者是它只是將相同字體全部打印出來的問題? –

回答

-5

你可以試試:

printFont = new Font("Arial", 24,FontStyle.Bold); 

ThangNguyen

+3

這將會加粗他字符串中的所有單詞,這不是他想要的。他的問題根本不容易。 –