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 スタイルのフォントはクリーンでクリアなので気に入っています。サードパーティの非標準フォントを調べましたが、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 に答える