OSのプリンタ設定を変更するには?

解決


hiro  2005-01-19 03:00:33  No: 12775

こんにちは。いつもお世話になっております。
早速ですが質問させていただきます。

Printerの設定方法でアプリケーション毎の設定の記述は見当たるのですが、
OSのPrinterの設定(グローバルなPrinter設定?)の方法が検索しても見つけることが出来ませんでした。

もし設定が出来ましたら何方か御教授くださいませんでしょうか?
どうぞ宜しくお願いいたします。


Mr.XRAY  URL  2005-01-20 06:09:36  No: 12776

以下のURLで リモートプリンタ で検索してみて下さい.
もしかしたら参考になるかも知れません.

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/search.cgi?screen=1

http://www.borland.co.jp/qanda/delphi/d0009318.html
(こちらはあまり関係ない?)

私はやったことはありません.うまくできたら教えて下さい.


hiro  2005-01-20 21:55:15  No: 12777

Mr.XRAY様、返信ありがとうございます。
(公開されているコンポーネント、愛用しています)

早速検索してみました。
ざっと、見てみたところこれでいけそうですね。
ちょっと今、Delphiを触れる環境から離れていますので
後で試してみます。
うまくいきましたら、またこちらで報告したいと思います。
ありがとうございました。

ちなみに、何故このような事がしたいのかといいますと
ReportToolにQuickReportを使用しており、このReportToolの仕様上
印刷時、プリンタの設定は出来るのですが用紙のサイズが指定できない(OSで設定した用紙が常に選択される)のです。

そこで、回避策としてOSのプリンタの設定を変更して用紙を選択する事を考え投稿させていただいたのです。
(これで本当にいいのかはわかりませんが…)


hiro  2005-01-21 01:13:00  No: 12778

結果報告です。
ML過去ログの方はうまくいきませんでした・・・
しかし、下記のURLのコードでは一部のプリンタでうまくいきました。

http://forum.nifty.com/fdelphi/samples/00614.html

しかし、手持ちのインクジェットプリンタやドットプリンタは
設定出来たのですがレーザプリンタだけ設定が反映されませんでした。

各接続は下記の通りです
インクジェット - USB 
ドットプリンタ - LAN (EPSON VP-1850+ネットワークアダプタ)
レーザプリンタ - LAN (EPSON LP-9000C+上記と同じネットワークアダプタ)

レーザプリンタのドライバを最新のものにしましたが駄目でした。

引き続き情報提供者をお待ちしております。


Mr.XRAY  URL  2005-01-23 01:26:08  No: 12779

ゴミレスなのですが...

興味をもってFDELPHIの会議ログを調べてみました.この手の質問は結構
ありますね.hiroさんの解決法が一番有効な気がします.これでダメだとすると...

QuickReportを提供しているQ... (何でしたっけ)に問合わせた方もいるよ
うです.その回答がシステムのプリンタの変更でしのいで,という内容で
した(97年頃ですから,それから変化がないのですね).

また,他のプリントツール等を勧めている方もいました.
Page.PaperSize:=Custom;
で設定できるプリンタドライバもあるんですけどね.残念ですが...


Thomas  2005-01-23 02:23:45  No: 12780

QuickReportのホームページにあるSetting the Default Printer from code
とかは動作しないのですか?


Mr.XRAY  URL  2005-01-23 03:56:47  No: 12781

>QuickReportのホームページにあるSetting the Default Printer from code
>とかは動作しないのですか?

FDELPHIの会議室のログによるとこれは動作するようです.
したがって,PrinterIndexが-1の,つまり,使用したいプリンタを
システムのデフォルトのプリンタにして,このプリンタの設定を変更し,
QuickReportを使用終了したら,また元に戻すという作業を行えば,hiro
さんの目的が達成できる訳です.

そこで,http://forum.nifty.com/fdelphi/samples/00614.htmlの方法が
あるのですが,この方法でも変更できないプリンタドライバがあるようです.
もちろん,サーバが管理しているプリンタはダメなようですが.
(権限の問題でアクセスが拒否される)

これは,QuickReportが,現在のプリンタの設定ではなく,内部でPrinter
オブジェクトに相当するものを生成して処理していることが原因のようで
す.
ソースコードがあれば,それを修正してしまうという手も考えられますが...


大豆Z  2005-01-23 09:36:09  No: 12782

表示につかうだけで印刷したことなかったので、参考になりました。

>QuickReportのホームページ
えっ?って思って調べたら
http://www.qusoft.com/にホームページかわっていたんですね
QRepo v1添付のDOCに書いてあったURLつながらないから
てっきりあの会社しんだとずっといままで思っていました(^_^;)


hiro  2005-01-23 14:41:42  No: 12783

ご多忙な中、返信ありがとうございます。

結局、あれからいろいろと試しましたが進展せず、
プリンタ設定に同一のプリンタを作成し、それぞれ用紙を設定して
それをQuickReportのPrinterIndexを設定するようにして逃げました。

根本的な解決はしていませんが、上記の理由により解決とさせていただきます。
返信してくださった皆様、ありがとうございました。

#これを機にQuickReportからMr.XRAYさんのコンポに
#入れ替えようかなぁ〜(倍角はとても魅力的!!)
#でも過去の資産が結構あるから、大変な作業に・・・


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加