0

在此处输入图像描述

我正在使用它来将文本打印到标签打印机:

Private Sub PrintTextControl_PrintPage(
    ByVal sender As System.Object, 
    ByVal e As System.Drawing.Printing.PrintPageEventArgs) 
    Handles PrintTextControl.PrintPage
    '.....
    e.Graphics.DrawString("Hello World", font1, Brushes.Black, x, y, strFormat)
    '.....
End Sub

它工作得很好,除了标签打印机的标准字体相当宽,甚至是“Arial Narrow”。

我喜欢 Arial/Sanserif 风格的字体,因为它们干净清晰。我查看了 3rd 方非标准字体,但没有找到任何 Airal/Sanserif 风格干净清晰的字体。

有没有办法缩放文本以水平“挤压”它们?我不是在谈论使用较小的字体,因为整个单词会变小。我希望它保持相同的高度,只是缩小它。

4

1 回答 1

1

试试这个:

Private Sub PrintTextControl_PrintPage(
    ByVal sender As System.Object, 
    ByVal e As System.Drawing.Printing.PrintPageEventArgs) 
    Handles PrintTextControl.PrintPage
    '.....
    Dim scaleMatrix As New Matrix()
    scaleMatrix.Scale(0.8, 1)
    e.Graphics.Transform = scaleMatrix
    e.Graphics.DrawString("Hello World", font1, Brushes.Black, x, y, strFormat)
    '.....
End Sub

只需将 0.8 替换为适合您的打印机的比例值即可。

于 2012-12-28T08:14:46.643 回答