Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 3316

Re: プリンター出力用紙サイズについて

$
0
0

ご存知のことと思いますが、カスタム用紙サイズを定義した場合、その値 (ENUM) は動作環境により異なる値が設定されます。従いましてカスタム用紙サイズをご利用いただいている場合、それぞれの動作環境で値を取得して設定する必要がございます。


(記述例) crReportDocument.PrintOptions.PaperSize =  CType(119, PaperSize)

 

上記例は、119 がカスタム用紙サイズの値を示しています。但し、動作環境により同一カスタム用紙サイズでも異なる値で割り振られていることがございます。

Google 等でご利用環境の用紙サイズの値 (Enum) を取得するコードを検索することができます。


(記述例)
Dim i As Integer
Dim doctoprint As New System.Drawing.Printing.PrintDocument()

doctoprint.PrinterSettings.PrinterName = "EPSON DLQ-3500 ESC/P 2 Ver 2.0"  

 

For i = 0 To doctoprint.PrinterSettings.PaperSizes.Count - 1
  Dim rawKind As Integer

  If doctoprint.PrinterSettings.PaperSizes(i).PaperName = "seal" Then
     rawKind = CInt(doctoprint.PrinterSettings.PaperSizes(i).GetType().GetField("kind", Reflection.BindingFlags.Instance Or Reflection.BindingFlags.NonPublic).GetValue(doctoprint.PrinterSettings.PaperSizes(i)))

     crReportDocument.PrintOptions.PaperSize = rawKind
   
     Exit For
 
 End If
Next

 

 

Yoshi


Viewing all articles
Browse latest Browse all 3316

Trending Articles