[WR2.0]プリンタ設定の変更について

HOME › フォーラム › 旧サポート掲示板 › [WR2.0]プリンタ設定の変更について

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

    お世話になっております。

    現在VERSION2.0Jで開発をおこなっております。
    プリンタ設定をソース上で変更する方法がわかりません。
    設定の変更したい箇所は縮小設定です。
    文字切れ、レイアウトの乱れなく縮小できる方法はありますか。
    ウィングレポートにそのような機能がない場合は、代替機能をご教授くださいますようお願いします。

    以上です。宜しくお願いします。

    #1751
    松嶋@ソフトウィング
    ゲスト

    お世話になります。

    プリンター情報はDEVMODE情報をwrSetReportPrinter関数を使
    用して設定することにより変更する事が可能です。

    ※DEVMODE情報につきましてはマイクロソフト社のホームペー
     ジにて検索することが可能です。

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

    #1752
    仲西
    ゲスト

    お世話になっております。

    回答ありがとうございます。
    ご教授いただいたDEVMODE構造体を用いてプリンタ設定変更を試みました。しかし、以下のソースでdmCopies(印刷部数)の設定はうまくいくのですが、dmScale(印刷倍率)の変更はうまくいきません。
    DEVMODE構造体取得は成功しているようなのですが、縮小印刷させるよう倍率を変更することはできないのでしょうか。

    pDevMode->dmFields = DM_SCALE;
    pDevMode->dmCopies = 2; //2部印刷
    pDevMode->dmScale = 75; //倍率75%

    if ( ! wrSetReportPrinter ( *HwrRepHdl, NULL, DevMode ))
    {
    // 詳細なエラーコードを取得
    dwEC = wrGetErrorCode ( *HwrRepHdl, TRUE ) ;
    return FALSE ;
    }

    処理手順は以下のようになっております。
    1.EnumPrinters利用可能なプリンタを列挙
    2.GetProfileStringで通常使うプリンター名 を取得
    3.OpenPrinterで指定したプリンタをオープンし、プリンタハンドルを取得
    4.DocumentPropertiesでDEVMODE構造体を取得するために必要なバッファーサイズを計算
    5.mallocでDEVMODE構造体の領域を確保します。
    6.DocumentPropertiesでDEVMODE構造体の情報を取得
    7.freeでメモリ開放
    8.ClosePrinterで指定したプリンタをクローズ
    9.DEVMODE構造体のdmScale(倍率)の値を変更
    10.wrSetReportPrinterで変更したDEVMODE構造体の情報をセット

    #1753
    松嶋@ソフトウィング
    ゲスト

    お世話になります。

    Ver2.0では縮小拡大処理をサポートしておりませんので、プリ
    ンタードライバーの機能を使用する事になります。
    ドライバーの縮小拡大処理を制御する場合はdmScaleへ設定す
    る値により行うことが可能ですが、各社プリンターメーカーの
    ドライバー仕様により、制御を行うことが出来ない(dmScale
    の設定をサポートしていない)事がありますので注意してくだ
    さい。
    (メーカー固有の情報として保存されている事があります)

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

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