none
ストアアプリの印刷チャームで、既定の用紙サイズを変更したい RRS feed

  • 質問

  • VS Professional 2012(OS:Windows8Pro x64)でストアアプリの印刷方法を勉強しています(XAML-C#タイプ)。
    下記サンプルアプリ(Print sample)をダウンロードして、評価検討をしているのですが、
    http://code.msdn.microsoft.com/windowsapps/Print-Sample-c544cce6
    今のところ、既定の用紙サイズ(A4)をB5に設定することができていません。

    このサンプルを使って、以下のような試行をいくつか試みたのですがうまくいきませんので、対処方法のアドバイスをいただけたらと思っています。

    <以下、試行結果>
    下記サイトの内容を参考にして、
    http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh849590(v=win.10).aspx
    前記「Print sample」の[BasePrintPage.cs]部分の[PrintTaskRequested]イベントプロシージャーに以下のコードを挿入して、Scenario2(Print using In-app Button)を実行しました。

    [BasePrintPage.cs]
    protected virtual void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
    {
        PrintTask printTask = null;
        printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", sourceRequested =>
            {
                //***挿入開始位置
                //IList<string> displayedOptions = printTask.Options.DisplayedOptions; // ①
                //displayedOptions.Clear();                                                                 // ②
                //displayedOptions.Add(StandardPrintTaskOptions.MediaSize);              // ③

                //printTask.Options.MediaSize = PrintMediaSize.JisB5;                          // ④
                //printTask.Options.NumberOfCopies = 3;                                           // ⑤
                //printTask.Options.Orientation = PrintOrientation.Landscape;              // ⑥
                //***挿入終了位置
               
                // Print Task event handler is invoked when the print job is completed.
                printTask.Completed += async (s, args) =>
                {
                    // この部分は直接関係しないので、記載省略
                };
                sourceRequested.SetSource(printDocumentSource);
            });
    }

    試行1.④のコメントを外して用紙サイズの既定値設定変更を試みたのですが、印刷チャームが表示されても、既定の用紙サイズは「A4」のままです。
    試行2.④はコメントアウトして、⑤と⑥のコメントを外すと、既定の部数は「3」に、印刷の向きは「横」に変更されます。従って、部数と印刷の向きに関してはprintTask.Optionの設定が使えています。
    試行3.④~⑥の全てのコメントを外すと、既定の用紙サイズは「A4」のままで、既定の部数は「1」に、印刷の向きは「縦」となって、部数、印刷の向きについてもprintTask.Optionの設定が使えなくなります。
    試行4.⑤、⑥はコメントアウトし、①~④のコメントを外した試みをしても、既定の用紙サイズは「A4」のままです。

    2012年11月25日 5:34

すべての返信

  • 選択されているプリンタが B5 JIS 用紙をサポートしていることを確認していますか?

    サポートされていない場合はデフォルトのA4に切り替わると思います。

    2012年12月6日 10:00
  • psn2010様

    接続プリンターはB5サイズに対応していて、プリンターの既定の用紙サイズをB5に設定を変更しても現象は変わりません。

    また、アプリを実行して、印刷チャームを呼び出して、既定で表示される用紙サイズ「A4」を「JIS B5」に変更して印刷を実行すると、問題なくB5サイズでの印刷はできますので、プリンター側の問題ではないだろうと思っています。

    2012年12月8日 23:01
  •            

                   sourceRequested.SetSource(printDocumentSource);

                  

                    printTask.Options.MediaSize = PrintMediaSize.JisB4;  // ここで指定

    2014年5月22日 6:05