狠狠撸
Submit Search
Metro スタイル アプリで印刷
?
Download as PPTX, PDF
?
1 like
?
3,818 views
Mitsuhito Ishino
VSUG DAY 2012 Summer
Read less
Read more
1 of 18
Download now
Downloaded 11 times
More Related Content
Metro スタイル アプリで印刷
1.
石野 光仁@アイライト
2.
?
セッションの目的 ? Metro アプリでの印刷デモを見てもらう ? 印刷のサンプル?プログラムを見てもらう ? セッションのゴール ? Metroアプリでの印刷を理解する
3.
?
名前 ? 石野 光仁 ? 所属 ? Microsoft MVP for C# ? 2003/10 ~ 現在 ? コミュニティ ? アイライト主催 ? http://www.ailight.jp
4.
Metro スタイル 印刷の紹介
プリンタドライバ Metroで印刷 デモ プログラム解説 サンプル?プログラム デモ 参考:メモリ不足の話
5.
?
v3 プリンター ドライバー ? Windows8以前のドライバーモデル ? デスクトップ アプリ:従来通り利用可能 ? Metro スタイル:オプションがすべて解放さ れた状態 ? v4 プリンター ドライバー ? Windows8用に設計されたドライバーモデル ? Metro スタイルアプリをサポート ? 従来のデスクトップアプリでも利用可能 ? カスタマイズUIの表示が可能
6.
?
デバイスチャーム ? アプリケーション内から印刷 ? ボタン等
7.
?
Windows.Graphics.Printing. PrintManager ? public event TypedEventHandler<PrintManager, PrintTaskRequestedEventArgs> PrintTaskRequested; ? public static PrintManager GetForCurrentView(); ? public static IAsyncOperation<bool> ShowPrintUIAsync();
8.
private void Page_Loaded(object
sender, RoutedEventArgs e) { var printManager = PrintManager.GetForCurrentView(); printManager.PrintTaskRequested += printMan_PrintTaskRequested; } void printMan_PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs args) { args.Request.CreatePrintTask("VSUG Test Print", e => e.SetSource(_IPrintDocumentSource)); }
9.
?
Windows.UI.Xaml.Printing. PrintDocument ? IPrintDocumentSource DocumentSource { get; } ? event GetPreviewPageEventHandler GetPreviewPage; ? event PaginateEventHandler Paginate; ? void SetPreviewPage(int pageNumber, UIElement pageVisual);
10.
public sealed partial
class MainPage : Page { protected PrintDocument _PrintDocument = null; protected IPrintDocumentSource _IPrintDocumentSource = null; private void Page_Loaded(object sender, RoutedEventArgs e) { _PrintDocument = new PrintDocument(); _PrintDocument.Paginate += _PrintDocument_Paginate; _PrintDocument.GetPreviewPage += _PrintDocument_GetPreviewPage; _IPrintDocumentSource = _PrintDocument.DocumentSource;
11.
public sealed partial
class MainPage : Page { protected PrintDocument _PrintDocument = null; protected IPrintDocumentSource _IPrintDocumentSource = null; void _PrintDocument_Paginate(object sender, PaginateEventArgs e) { } void _PrintDocument_GetPreviewPage(object sender,GetPreviewPageEventArgs e) { Canvas page = new Canvas(); var image = new Image(); var bitmap = new BitmapImage(new Uri("ms-appx:///Assets/VSUG.png")); image.Source = bitmap; page.Children.Add(image); _PrintDocument.SetPreviewPage(e.PageNumber, page); }
12.
?
PrintDocument_Paginate(object sender, PaginateEventArgs e) ? E.PrintTaskOptionsの値
13.
?
Windows.UI.Xaml.Printing. PrintDocument ? IPrintDocumentSource DocumentSource { get; } ? event AddPagesEventHandler AddPages; ? event GetPreviewPageEventHandler GetPreviewPage; ? event PaginateEventHandler Paginate; ? void SetPreviewPage(int pageNumber, UIElement pageVisual); ? void AddPage(UIElement pageVisual); ? void AddPagesComplete();
14.
void _PrintDocument_AddPages(object sender,
AddPagesEventArgs e) { Canvas page = new Canvas(); var image = new Image(); var bitmap = new BitmapImage( new Uri("ms-appx:///Assets/VSUG.png")); image.Source = bitmap; page.Children.Add(image); _PrintDocument.AddPage(page); _PrintDocument.AddPagesComplete(); }
15.
PrintManager
PrintDocument GetForCurrentView(); DocumentSource Paginate += //印刷前の情報取得 PrintTaskRequested += GetPreviewPage += //プレ ビュー プリントの機能があることを伝え SetPreviewPage() //設定 る args.Request.CreatePrintTask AddPages += //印刷 AddPage () //ページを追加 AddPagesComplete () //完 了
16.
?
メモリ不足 ? メモリ使用量:90%以上 ? どのプロセスが持っているのか見えない ? 仮想メモリを使いまくって、ディスクアクセスが止 まらない ? 再起動しても直らない ? 解決方法 ? 完全再起動:Shutdown /r
17.
?
Windows 8 の印刷の概要 ? http://msdn.microsoft.com/ja- jp/library/windows/hardware/hh852373 ? Windows 8 Release Preview Metro style app samples - C#, VB.NET, C++, JavaScript ? http://code.msdn.microsoft.com/windowsapps/ Windows-8-Modern-Style-App-Samples ? Print sample
18.
http://www.ailight.jp
Download