両面印刷について

HOME › フォーラム › 旧サポート掲示板 › 両面印刷について

  • このトピックは空です。
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • 投稿者
    投稿
  • #587
    shimizu
    ゲスト

    お世話になります
    WR3.1 VB2005で開発をしています。

    プログラムで両面印刷を指示したいのですが
    サンプルが見当たりません。
    サンプルの場所 or サンプルをご教授ください。
    以上、よろしくお願いします。

    (プリンタは両面印刷可能です)

    #588
    伊藤@ソフトウィング
    ゲスト

    日頃より弊社製品をご利用いただきまして、誠にありがとうございます。

    WingReportの標準の機能でご質問のような内容を実現するには、下記のような方法が考えられます。

    【方法1:DEVMODE情報の使用】
     ご使用となるプリンタの両面印刷設定が行われたプリンタの、DEVMODE情報をPrinterInfoプロパティにて取得していただき、バイナリファイルとして出力を行っていただきます。
    そして、印刷時に準備していただいたDEVMODE情報をPrinterInfoプロパティへ設定していただくという方法です。
     ただし、この方法での注意点といたしまして、ドライバのバージョンが変わると、互換性が失われてしまう恐れがございます。その場合は、DEVMODE情報の再取得を行っていただく必要がございます。

    【方法2:ダイアログの表示】
    印刷時にプリンターの印刷ダイアログを表示するように設定を行っていただいて、ユーザー様が両面印刷を行い印刷処理を行っていただくという方法です。

    【方法3:両面印刷専用のプリンタの作成】
    事前に両面印刷用のプリンタを追加(例:両面印刷プリンタ 等)していただき、印刷時には通常使用するプリンタではなく、そちらのプリンタを指定していただくという方法です。

    プログラムから両面印刷を指示する方法と致しましては、方法1が一番近いかと存じますが、手間を考えますと方法3が一番手軽かと思われます。
    DEVMODE情報については、Microsoft VisulaStudio等の資料を参照して下さい。

    ご不明な点などありましたら、大変お手数ですがご連絡頂きますようお願い申し上げます。

    #589
    shimizu
    ゲスト

    お世話になります。
    もし【方法3:両面印刷専用のプリンタの作成】
    を選択した場合、すべて両面印刷されてしまいますか?

    本アプリは両面で出力したいものと片面で出力したいもの
    両方存在するのですが・・

    #590
    伊藤@ソフトウィング
    ゲスト

    日頃より弊社製品をご利用いただきまして、誠にありがとうございます。

    【方法3】を選択した場合、すべて両面印刷が行われてしまいます。

    片面印刷と両面印刷を切り替える方法としては、予め片面印刷用プリンタと両面印刷用プリンタを追加して頂きまして、プログラム中で片面印刷時は片面印刷用プリンタを使用し、両面印刷時は両面印刷用プリンタを使用する事で制御が行えると考えられます。

    以上、宜しくお願い致します。

    #591
    shimizu
    ゲスト

    お世話になります。
    【方法1:DEVMODE情報の使用】にて両面印刷を実現しようと思いますが、具体的にどのような手順で何をすればよいかわかりません。サンプル等をいただきたいのですが。
    ちなみに、プリンタは東芝製で両面印刷可能機種です。

    #592
    伊藤@ソフトウィング
    ゲスト

    日頃より弊社製品をご利用いただきまして、誠にありがとうございます。

    方法1のサンプル(VB6)を下記に記述させていただきます。

    【DEVMODE情報の取得(ファイルへ保存)】
    Dim hPrinter ssAs Long
    Dim lngPrintInfoSize sAs Long
    Dim bytBuff  sAs Byte
    Dim lngFileNum sAs Long
    Dim strFileName sAs String

    ‘ プリンター情報のサイズ取得
    If Not CBool(WRPGetPrinterInfoSize(hPrinter, lngPrintInfoSize)) Then
    MsgBox “WRPGetPrinterInfoSizeに失敗”
    End If

    ReDim bytBuff(lngPrintInfoSize)

    ‘ プリンター情報の取得
    If Not CBool(WRPGetPrinterInfo(hPrinter, bytBuff(0), lngPrintInfoSize)) Then
    MsgBox “WRPGetPrinterInfoに失敗”
    End If

    ‘ ファイル番号の取得
    lngFileNum = FreeFile()
    strFileName = App.Path & “\” & FILE_NAME

    ‘ ファイルを開く
    Open strFileName For Binary As lngFileNum
    Put #lngFileNum, , bytBuff
      Close #lngFileNum

    【DEVMODE情報の設定(ファイルから取得)】
    Dim dvMode As DEVMODE_TYPE

    ‘ ファイル番号の取得
    lngFileNum = FreeFile()
    strFileName = App.Path & “\” & FILE_NAME

    ‘ ファイルを開く
    Open strFileName For Binary As lngFileNum
    Get #lngFileNum, , dvMode
    Close #lngFileNum

    ‘ DEVMODE情報の設定
    If Not CBool(WRPSetPrinterInfo(hPrinter, dvMode)) Then
    MsgBox “WRPSetPrinterInfoに失敗”
    Else
    ‘ プリンタ情報の更新    
    If Not CBool(WRPUpdateInfo(hPrinter)) Then
    MsgBox “WRPUpdateInfoに失敗”
    End If

    End If

    ※ DEVMODE_TYPE構造体の中身
    Type DEVMODE_TYPE
    dmDeviceName As String * 32
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer
    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmYResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer
    dmFormName As String * 32
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
    End Type

    以上、宜しくお願い致します。

    #593
    shimizu
    ゲスト

    VB.NETで開発しておりますので
    VB.NET用のサンプル or 詳細がのっているURLをお願いします。

    #594
    shimizu
    ゲスト

    お世話になります、両面印刷の別件なのですが

    【方法3:両面印刷専用のプリンタの作成】で試したところ
    両面印刷用プリンタを通常使うプリンタに設定すると、
    両面印刷できたのですが

    片面印刷用プリンタを通常使うプリンタに設定しておき
    両面印刷時に指定した両面プリンタを使用すると
    片面印刷されたレポートが2枚出力されます。
    両面印刷される方法はあるのでしょうか?
    また、プリンタは
    TOSHIBA e-STUDIO451cSeries PSL3
    です。
    以上、よろしくお願いします。

    #595
    伊藤@ソフトウィング
    ゲスト

    日頃より弊社製品をご利用いただきまして、誠にありがとうございます。

    まずサンプルについてですが、VB6・VB.NET共にWingReportのAPI呼び出しに関しては変更が御座いません。
    サンプルの呼び出し方法を試して頂きエラーが発生するようでしたら、お手数をお掛け致しますがご連絡をお願い致します。

    【方法3:両面印刷専用のプリンタの作成】にて両面印刷が正常に行われない件についてですが、ウィングレポートではDEVMODE情報を設定する以外にプリンタの両面・片面印刷の設定を行う事は出来ません。
    プログラムから使用するプリンタを変更する際、ダイアログを表示している場合はダイアログにて両面・片面印刷の設定、ダイアログの表示を行っていない場合は他端末よりプリンタドライバの両面・片面印刷の設定変更が行われていないかご確認を頂けませんでしょうか。

    以上、宜しくお願い致します。

9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • フォーラム「旧サポート掲示板」には新規投稿および返信を追加できません。