次のアイデアを検討してください。
さまざまなレイアウトでラベルを印刷する必要があるクライアント アプリケーションが X 個存在する可能性があります。これらのラベルのすべてのレイアウト ロジックを含む WCF サービス アプリを備えたサーバーが 1 つあります。このサービスはパラメーターを指定して呼び出され、クライアントが接続されたプリンターに送信できる Image オブジェクトを返します。
画像を返し、それを印刷に必要な Graphics オブジェクトに描画するという考えに頭が下がります。
通常、印刷するイメージの生成はプリンタのコンテキストで行われるため、適切なサイズのイメージが生成されます。
void print(object sender, PrintPageEventArgs ev)
{
Graphics g = ev.Graphics;
g.DrawString() // etc
}
しかし、WCF サービスはどのようにそのイメージを生成して、クライアントが呼び出すことができるようにする必要がありますか?
Graphics g = ev.Graphics;
g.DrawImage(service.GenerateLabel(), 0, 0);
私ははっきりしているといいのですが