简体   繁体   中英

Can I add paper size for print (A6)

I want to print full photo size A6 10*14 but my program don't have A6 size.
How I add paper size A6 in my program?

private void Printmgr_PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs args)
{
    var deferral = args.Request.GetDeferral();

    task = args.Request.CreatePrintTask("Print", OnPrintTaskSourceRequrested);
    task.Completed += PrintTask_Completed;
    task.Options.MediaSize = Windows.Graphics.Printing.PrintMediaSize.IsoA6;

    PrintTaskOptionDetails printDetailedOptions = PrintTaskOptionDetails.GetFromPrintTaskOptions(task.Options);
    IList<string> displayedOptions = printDetailedOptions.DisplayedOptions;

    // Create a new list option
    PrintCustomItemListOptionDetails pageFormat = printDetailedOptions.CreateItemListOption("PageContent", "Pictures");
    pageFormat.AddItem("PicturesText", "Image And Frame");
    pageFormat.AddItem("PicturesOnly", "Pictures only");

    // Add the custom option to the option list
    displayedOptions.Add("PageContent");

    printDetailedOptions.OptionChanged += printDetailedOptions_OptionChanged;

    deferral.Complete();
}

If you want to print 10*14 Please set MediaSize as NorthAmerica10x14 . And the size of IsoA6 is 4.13*5.83

protected override void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
    PrintTask printTask = null;
    printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", async sourceRequestedArgs =>
    {
        printTask.Options.MediaSize = Windows.Graphics.Printing.PrintMediaSize.NorthAmerica10x14;

        var deferral = sourceRequestedArgs.GetDeferral();
        PrintTaskOptionDetails printDetailedOptions = PrintTaskOptionDetails.GetFromPrintTaskOptions(printTask.Options);
        IList<string> displayedOptions = printDetailedOptions.DisplayedOptions;

        // Choose the printer options to be shown.
        // The order in which the options are appended determines the order in which they appear in the UI
        displayedOptions.Clear();

        displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Copies);
        displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Orientation);
        displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.ColorMode);

        // Create a new list option
        PrintCustomItemListOptionDetails pageFormat = printDetailedOptions.CreateItemListOption("PageContent", "Pictures");
        pageFormat.AddItem("PicturesText", "Pictures and text");
        pageFormat.AddItem("PicturesOnly", "Pictures only");
        pageFormat.AddItem("TextOnly", "Text only");

        // Add the custom option to the option list
        displayedOptions.Add("PageContent");

        // Create a new toggle option "Show header". 
        PrintCustomToggleOptionDetails header = printDetailedOptions.CreateToggleOption("Header", "Show header");

        // App tells the user some more information about what the feature means.
        header.Description = "Display a header on the first page";

        // Set the default value
        header.TrySetValue(showHeader);

        // Add the custom option to the option list
        displayedOptions.Add("Header");

        // Create a new list option
        PrintCustomItemListOptionDetails margins = printDetailedOptions.CreateItemListOption("Margins", "Margins");
        margins.AddItem("WideMargins", "Wide", "Each margin is 20% of the paper size", await wideMarginsIconTask);
        margins.AddItem("ModerateMargins", "Moderate", "Each margin is 10% of the paper size", await moderateMarginsIconTask);
        margins.AddItem("NarrowMargins", "Narrow", "Each margin is 5% of the paper size", await narrowMarginsIconTask);

        // The default is ModerateMargins
        ApplicationContentMarginTop = 0.1;
        ApplicationContentMarginLeft = 0.1;
        margins.TrySetValue("ModerateMargins");

        // App tells the user some more information about what the feature means.
        margins.Description = "The space between the content of your document and the edge of the paper";

        // Add the custom option to the option list
        displayedOptions.Add("Margins");

        printDetailedOptions.OptionChanged += printDetailedOptions_OptionChanged;

        // Print Task event handler is invoked when the print job is completed.
        printTask.Completed += (s, args) =>
        {
            // Notify the user when the print operation fails.
            if (args.Completion == PrintTaskCompletion.Failed)
            {
                MainPage.Current.NotifyUser("Failed to print.", NotifyType.ErrorMessage);
            }
        };

        sourceRequestedArgs.SetSource(printDocumentSource);

        deferral.Complete();
    });
}       

在此处输入图片说明 For more please refer PrintMediaSize Enum , This is official code sample

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM