2016-07-07 10 views
3

Printer.Canvas.TextOut()を使用して、プリンタのキャンバスにテキストを印刷します。Delphi - テキストが黒の背景に印刷されます

いくつかのプリンタジョブが定義されています。グラフィックス用とプレーンテキスト用のものがあります。これまではうまくいっています。今私はプレーンテキストが黒い背景に印刷されるという問題があります。

これは、テキストプリントの前にグラフィカルな印刷を行う場合にのみ発生します(同じプリンタが使用されているかどうかは関係ありません)。

この問題の原因は何もわかりません。私はどこにも黒い背景を設定しません。だから私はあなたが助けることを願っています。

問題は、PCL &ポストスクリプトで表示されます。

私のPCLプリンタの印刷プレビューでは、すべてが正常に見えます。しかし、紙の最終印刷物は再び黒色に黒色になる。

この問題の原因となる透過性フラグはありますか?


編集:透明性が問題を引き起こしていたようです。私が使用している場合:平文を印刷する前に、

SetBkMode(Printer.Canvas.Handle, TRANSPARENT); 

すべてが正常に動作します。私はどこかで何かを混乱させたようだ。

+0

これは、特定のマシン+プリンタまたは複数のプリンタでのみですか? Btw、あなたが解決策を見つけたと思うなら、将来の読者があなたの答えを投稿すると役に立つでしょう。そうすれば、未回答のものよりもむしろ答えられたqとして表示され、明白なことを述べるリスクがあります。 – MartynA

+0

これが解決策であるか、問題の回避策であるかはまだ分かりません。これはコンピュータでもプリンター固有の問題でもありません。私はまた、私のプリンタ(京セラ)のPCLプレビューが盗まれていると信じています。正しくプレビューしてはいけません。 – Jens

答えて

2

透明にBkModeを設定すると問題は解決しましたが、回避策に過ぎませんでした。

この問題の理由は、図形の印刷では、Printer.Canvas.Brush.ColorclBlackに設定されていて、実線を描いていたためです。この値は正しくリセットされませんでした。

関連する問題