多くのPDCドキュメントに記載されているSilverlight4の機能の1つは、印刷プレビューです。
これの使い方の例を探しましたが、今のところ何も見つかりませんでした。誰かがこれをもう機能させましたか?で印刷プレビューを使用して単純なWebアプリを実装する方法についていくつかの指針を教えてください。
多くのPDCドキュメントに記載されているSilverlight4の機能の1つは、印刷プレビューです。
これの使い方の例を探しましたが、今のところ何も見つかりませんでした。誰かがこれをもう機能させましたか?で印刷プレビューを使用して単純なWebアプリを実装する方法についていくつかの指針を教えてください。
私はそれらのいずれかとして印刷プレビューを見たことがありませんが、印刷されるコントロールと印刷プロセスに基づいたイベントを制御できる実際の印刷サポート。
しばらく探した後、他のプロジェクトで見つけたいくつかの機能を組み合わせてこれを行う方法を見つけましたが、彼らはそれを画像操作に使用しました。印刷してみましたが、うまくいくようです。
仕組みは次のとおりです。WriteableBitmapを使用してビットマップに変換された印刷コンテンツのベースコンテナを取得します。ここではCanvasを使用します。
WriteableBitmap wb = new WriteableBitmap(this.canvas1, null);
このビットマップを画像コントロールのソースとして使用します(ScrollViewer内に配置することもできますが、さらに優れています)。
this.imagePreview.Height = wb.PixelHeight;
this.imagePreview.Width = wb.PixelWidth;
this.imagePreview.Source = wb;
スケーリングの基本単位を設定します(この場合は1パーセントを使用)。
Point scale = new Point();
scale.X = imagePreview.Width/100d;
scale.Y = imagePreview.Height/100d;
次に、スライダーを使用してスケーリングを調整します(オプション)
private void vSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
imagePreview.Height = scale.Y * vSlider.Value;
imagePreview.Width = scale.X * vSlider.Value;
}
応答の欠如と、Hurricanepktが彼の返信で指摘したように、Tim Heuerと他の人が仮想印刷について話しているという事実から、画面上で同じものを表示すると、独自のカスタム印刷プレビュー機能に非常に簡単に組み込むことができると思います。一部のリストにリストされている印刷プレビューは、実際には仮想印刷ドキュメントが実際に何であるかを誤解している人々です。