- - PR -
VB.NETでデバイスフォント(プリンタフォント)の印刷
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-17 17:56
Win XP Pro + VB.NET で開発しています。
EPSON TM-L90(サーマルレシートプリンタ) + EPSON Advanced Printer Driver で バーコードを印刷しようと思っています。 "Barcode3" や "2D-Code2" といったデバイスフォント(プリンタフォント)はGDI関数を使わないと.NETでは印刷できないと書いてあったのですが、具体的な書き方がわかりません。 バーコードが印刷されるはずが数字が印刷されてしまいます。 GDI関数を使ってデバイスフォントを印刷する方法、ご教授お願い致します。 [VB.NET うまく動いてない] Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click PrintDocument2.PrinterSettings.PrinterName = "EPSON TM-L90 Label" PrintDocument2.Print() End Sub Private Sub PrintDocument2_PrintPage(ByVal sender As System.Object, _ ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument2.PrintPage Dim g As Graphics = e.Graphics g.DrawString("商品名", New Font("MS UI Gothic", 8, FontStyle.Regular, _ GraphicsUnit.Point), Brushes.Black, 0, 0) g.DrawString("4908609100359", New Font("Barcode3", 14, FontStyle.Regular, _ GraphicsUnit.Point), Brushes.Black, 0, 5) e.HasMorePages = False g.Dispose() End Sub [VB6.0では 下記で動いています] Private Sub Command1_Click(Index As Integer) strMyPrinter = "EPSON TM-L90 Label" For Each objPrinter In Printers If objPrinter.DeviceName = strMyPrinter Then Set Printer = objPrinter End If Next Printer.Font.Charset = 128 Printer.Font.Size = 8 Printer.Font.Name = "MS UI Gothic" Printer.Print "商品名" Printer.Font.Charset = 0 Printer.Font.Size = 14 Printer.Font.Name = "Barcode3" Printer.Print "4908609100359" Printer.EndDoc End Sub [ メッセージ編集済み 編集者: るちあーの 編集日時 2006-07-18 10:40 ] | ||||
|
投稿日時: 2006-07-19 10:58
ちょっと特異すぎて回答を得るのは難しいのではないかと・・・メーカーに聞いたほうが早くない?
と言う事は「マネージドコードで記述するのではなく、WindowsAPIを直接呼び出してください」と言っているのでは? 代替案としては、この機会にOPOSに移行するとか。 [ メッセージ編集済み 編集者: 甕星 編集日時 2006-07-19 11:00 ] | ||||
|
投稿日時: 2006-07-24 17:04
甕星さん、ありがとうございます。
メーカーへ聞くと同時に、もうちょっと勉強してみます。 |
1