首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在打印预览界面显示多页,如何在UWP app中打印所有页面?

在打印预览界面显示多页的方法是通过使用打印预览控件来实现。打印预览控件是一种用于显示打印文档预览的界面元素,可以在应用程序中嵌入该控件以实现打印预览功能。

在UWP应用程序中打印所有页面的方法如下:

  1. 首先,创建一个PrintDocument对象,并注册PrintPage事件处理程序。PrintDocument对象表示要打印的文档,PrintPage事件在每一页打印时触发。
  2. 在PrintPage事件处理程序中,使用PrintPageEventArgs对象提供的打印区域信息和打印页的页码来绘制每一页的内容。可以使用Graphics对象进行绘制操作,例如绘制文本、图像等。
  3. 在PrintPage事件处理程序中,使用PrintDocument对象的AddPage方法将每一页添加到打印文档中。这样,当打印预览控件显示时,它会自动加载并显示所有的打印页。
  4. 创建一个PrintPreviewControl对象,并将PrintDocument对象分配给它的Document属性。PrintPreviewControl对象是用于显示打印预览的控件。
  5. 将PrintPreviewControl对象添加到应用程序的用户界面中,以便用户可以看到打印预览界面。

下面是一个示例代码,演示了如何在UWP应用程序中实现打印预览并显示所有页面:

代码语言:txt
复制
using Windows.Graphics.Printing;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Printing;

public sealed partial class MainPage : Page
{
    private PrintDocument printDocument;
    private PrintManager printManager;

    public MainPage()
    {
        this.InitializeComponent();
        this.Loaded += MainPage_Loaded;
    }

    private void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        printManager = PrintManager.GetForCurrentView();
        printManager.PrintTaskRequested += PrintManager_PrintTaskRequested;
    }

    private void PrintManager_PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs args)
    {
        PrintTask printTask = args.Request.CreatePrintTask("Print Task", OnPrintTaskSourceRequested);
    }

    private void OnPrintTaskSourceRequested(PrintTaskSourceRequestedArgs args)
    {
        args.SetSource(printDocument?.DocumentSource);
    }

    private void PrintButton_Click(object sender, RoutedEventArgs e)
    {
        printDocument = new PrintDocument();
        printDocument.Paginate += PrintDocument_Paginate;
        printDocument.GetPreviewPage += PrintDocument_GetPreviewPage;
        printDocument.AddPages += PrintDocument_AddPages;

        PrintManager.ShowPrintUIAsync();
    }

    private void PrintDocument_Paginate(object sender, PaginateEventArgs e)
    {
        printDocument.SetPreviewPageCount(1, PreviewPageCountType.Final);
    }

    private void PrintDocument_GetPreviewPage(object sender, GetPreviewPageEventArgs e)
    {
        printDocument.SetPreviewPage(e.PageNumber, PrintPreviewPageCollection.Current.GetPreviewPage(e.PageNumber - 1));
    }

    private void PrintDocument_AddPages(object sender, AddPagesEventArgs e)
    {
        printDocument.AddPage(PrintPage);
        printDocument.AddPagesComplete();
    }

    private void PrintPage(object sender, AddPagesEventArgs e)
    {
        // 在此处绘制每一页的内容
        // 使用PrintPageEventArgs提供的打印区域信息和页码来绘制内容
    }
}

在上述示例代码中,通过点击PrintButton按钮来触发打印操作。在PrintButton_Click事件处理程序中,创建了PrintDocument对象,并注册了Paginate、GetPreviewPage和AddPages事件处理程序。在PrintDocument_Paginate事件处理程序中,设置了打印预览页数。在PrintDocument_GetPreviewPage事件处理程序中,设置了每一页的预览内容。在PrintDocument_AddPages事件处理程序中,将每一页添加到打印文档中。

请注意,上述示例代码仅演示了如何在UWP应用程序中实现打印预览并显示所有页面的基本步骤。实际应用中,您可能需要根据具体需求进行适当的修改和扩展。

关于UWP打印功能的更多信息,您可以参考腾讯云的相关文档和产品介绍:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 8人机界面指南(三):iOS技术(下)- 腾讯ISUX

合适的时候给用户提供更多打印选项 例如,让用户设置打印页码范围或打印份数。 如果用户不能打印,则不要显示特定的打印页面 向用户展示有打印项的界面前,确保用户的设备是支持打印的。...iPhone上可以使用专用的视图,最好是导航视图来显示文件预览 这样可以使用户应用情境通过导航进入文件预览。虽然也可以iPhone应用中使用模态显示,但并不推荐这样。...注意:无论以什么格式,最重要的是显示与用户线路相关的相同的交通信息。例如,如果路线包含五个步骤,地图和路线列表必须描绘相同的五步。...举个例子,你可以: 1.列举出适合当前情境的标准菜单的命令 2.菜单显示前判定菜单的位置,以便防止你App界面重要的信息被遮盖 3.定义当用户双击时会显示默认被选择的对象的菜单 你不能改变菜单本身的颜色和形状...人们可以设置-声音关闭所有的键盘音效——包括你的自定义输入页面的那些。

2K40

Word操作与应用

----  (2)定位 “定位”选项卡显示“查找和替换”对话框,此选项卡可以将光标直接转至文档的特定位置,而无须使用方向键或Pagelp键和PageDown键,例如,文档输入文本之后想要定位到第...---- 4.打印打印选项 创建好文档之后,可将它打印出来,但是,在打印文档之前,最好能够直观地看到文档纸面上的效果,Word提供了“打印预览”功能,如果用户对预览效果不满意,可以立即进行修改这样将节省大量的纸张和打印时间...----  (1)打印预览 Word,用户可以使用“打印预览”功能直观地看到最终的打印结果,“打印预览”可以逐页(一次一预览文档每个页面打印效果,也可以一次查看多个页面。...使用“打印预览”功能查看要打印的文档,如果有不符合要求的地方,可以及时修改,要对打印设置进行修改,可以选择“正常边距”选项,如图所示为页面打印预览的效果。...准备文档时,可能需要加入一些包含财务信意的,而这些包含栏,如果在一个纸面上无法打印出一个表单上的所有栏,这时可以考虑将表单的栏沿打印纸横向排列,而不是纵向排列。

41120
  • VFP在运行时扩展报表系统,这是报表转换任意格式的秘决

    在这一章,你将学到的有 VFP 9 的report listener 的概念、它是如何在一个报表正在运行的时候接收事件的、以及除了经典的打印预览之外你可以如何通过建立自己的 listener 来提供不同类型的输出...“一次所有”模式,Report listener 会绘制所有并将它们放在内存的缓存,然后它根据需要输出这些绘制好了的,比如当用户在打印预览窗口中单击了 next 按钮。...,1 为打印预览,2为“一次一”模式同时不将输出发送到一台打印机,3 为“一次所有”又不打开预览窗口,4 为 XML 输出,5 为 HTML 输出。...只读 PreviewContainer O 对要预览的报表的显示界面的一个对象引用 PrintJobName C 显示 Windows 打印队列对话框打印任务的名称 QuietMode L 若为...不过一个打印预览窗口可以它调用 listener 的 OnPreviewClose 方法来将这个属性设置为当前被显示

    99521

    目录内文件名导出到Excel文件

    2、打印文件列表时,可以包含标准文件信息,文件名,扩展名,类型,所有者和属性以及可执行文件信息(EXE,DLL,OCX),文件版本,描述,公司等。...此款软件是各种目录打印机中性价比最高,价格适中的应用之一。 一,具体使用 ? 选择文件夹 对每一个选项可以实时预览区看到效果,通常情况下我只针对这几项进行设置,有兴趣的可以尝试其他选项。 ?...设置行高和对齐方式 (二)页面美化 主要是“插入”菜单设置封面、页眉页脚,页面布局”设置纸张方向、边距、分栏显示“设计”菜单添加水印、设置页面背景等。 ?...全屏显示 全屏模式下,左下方,可以设置为双显示、缩放、退出全屏。 ? 设置双显示全屏显示的效果,此时点击即可打开预览 ?...修改后的代码 修改完毕进行保存,然后打开预览效果 ? 效果演示 六、其他目录展示 对网页进行代码美化或者WORD中进行页面美化,可以生成多种不同的风格,从而构建自己的本地资料清单。 ?

    5.7K30

    浏览器分页静默打印

    作为前端开发,浏览器上打印算是一个比较常见的需求了。最简单的做法就是直接打印整个网页,浏览器直接打印或者调用window.print()。 这样就能将当前页面整个打印出来了。...然而,实际上的需求往往都不是这样简单,它更多的可能是需要打印整个网页的某一段“特定”的内容。 一、如何自定义打印 Google 一下就能能网上找到与很多与自定义打印相关的 js 库。...只要保证这个高度,其内部样式如何变化都没关系,一个 header、或者某个特殊页面一个特殊元素都无所谓。 无非是计算 pageList 的时候对数据进行增减即可。...只需要处理这三个部分,不论需要打印的内容如何变化,我们都能得到对应页面字符串,将其塞入 iframe 就能自由打印了。...至此,一整套打印控件打印方案就算完成了。 当我们浏览器页面上点击一个打印按钮的时候,直接通过 Websocket 将打印事件、打印文本及其他相关打印信息发送给打印控件服务。

    63010

    iOS 9人机界面指南(三):iOS 技术 () - 腾讯ISUX

    为了确保用户能够自定义他们的通知体验,你应该尽可能地支持以下的通知类型: 横幅(Banner) 警告框(Alert) 小气泡(Badge) 声音(Sound) 注意:iOS8及之后的版本,你必须对所有你想发送给用户的通知类型进行注册...你可以选择应用的哪些页面展示标准横幅,并在给这些页面设计布局时预留出空间。 ? 所有的iOS应用都可以展示标准横幅。你可以使用ADBannerView类的广告视图来显示标准横幅广告。...你可以选择使用模态视图来显示横幅广告,或者用独立来展示可滚动的广告内容。(在下面的示例,应用提供了一种杂志阅读的体验,通过翻页离开或回到全屏广告页面。) ?...例如,让用户设置打印页码范围或打印份数。 如果用户不能打印,则不要显示特定的打印用户界面向用户展示有打印项的界面前,确保用户的设备是支持打印的。...想要学习如何在应用中加入Quick Look文件预览功能,请参阅Document Interaction Programming Topics for iOS.

    3.3K50

    〔连载〕VFP9增强报表-运行时能力的增强

    新的预览窗口 匆匆一看,图25显示的 VFP 9 预览窗口看上去好像跟过去版本的它并没多少不同。不过,请仔细看一下这里面的工具栏。...另一个新特色是一个快捷菜单,它的菜单项重复了工具栏上这些功能,加上允许你显示或者隐藏工具栏。 图26、你可以预览窗口中一次显示、两或者四。...其它打印增强 VFP 9 中有着大量的其它通用打印增强。 显示设置对话框的 SYS(1037) 有了一些新的功能。...FRX文件的信息)来保存或者恢复默认打印机信息;这两个命令都不会显示页面设置对话框。...图32、 VFP 9 随 REPORT 命令的 PROMPT 子句显示的对话框(右边的图像)比 VFP 8 的(左边的图)有着更摩登的界面 总结 VFP 9 报表引擎上改动的数量令人难以置信。

    90010

    Python桌面程序开发入门(十六)-应用程序中加入HTML

    你可以根据用户的输入来触发相应的动作,处理窗口的内容,自动显示有关窗口的信息和打印页面等。随后的几节,我们将讨论如何实现这些。  如何响应用户一个链接上的敲击? ...如果当前没有一个 title标记,你将得到一个空的字符串。  这儿有几个关于改变窗口中文本的选择的方法。方法SelectAll()选择当前打开的页面所有文本。...如何在窗口的标题栏显示页面的标题?  在你的web浏览器,你可能也注意到了一件事,那就是浏览器不光只有显示窗口,还有标题栏和状态栏。...一旦与状态栏的关联被创建,那么当鼠标移动到显示页面的链接上时,相关链接的URL将显示状态栏。  如何打印一个HTML页面?  一旦HTML被显示屏幕上,接下来可能做的事就是打印该HTML。...关于该方法的更详细的信息将在第17章讨论。  打印  现在你可能想知道如何简单地打印一个HTML页面

    2.6K00

    个人永久性免费-Excel催化剂功能第13波-一键生成自由报表

    打印报表的设置 纸张方向 根据实际需要,是横向打印还是纵向打印,插件的设置是所有行的数据都会放到一显示,报表占用的位置比较宽时,建议用横向打印,避免打印的缩放程度太大,不能很好地展现数据细节。...边矩居中方式 有水平居中和垂直居中两种,若无特殊情况,选择水平居中的默认样式即可,具体的差异性可观看视频演示里的显示效率,此两项和纸张方向都是Excel的打印数据中原生有的功能,只是搬到插件窗体界面更加明显直观可设置而已...若需要打印标题,需要点击【打印标题】来设置对应的标题信息,同样是原生Excel功能所有的 【页面设置】和【直达打印预览】 此两个选项,也是Excel内置的对设置窗体,仅放到插件供快速打开设置而用。...建义设置完标题信息后,用打印预览来直观地调整一下边矩信息(勾选显示边框),以保证最终打印的效果如预览所示,预览显示的分页位置,插件下一步的打印报表中会自动做调整,无需理会预览时的错误分页符位置。...打印预览功能 点击【打印报表】,请使用此处的【打印报表】按钮来进行打印,而不要使用Excel原生的打印按钮,因此处插件会根据以上设置过的一些打印设置,对打印的报表进行分析,让同一个数据组单元的数据保证同一显示

    82520

    ureport 显示html,UReport2 与业务结合

    本小节我们将介绍如何在业务页面展示报表、导出报表文件、引用报表内容等操作。...,还可以通过_i参数来指定当前要预览报表页码,也就是说如果上述这些URL后面没有_i参数,将会显示整个报表,如果有则显示_i参数指定页码对应的报表,比如URL后面跟_i=2,表示预览报表分页后第2内容...http://host[:port][/context-path]/ureport/preview对应的HTML报表预览页面,默认页面上部工具栏会显示一排按钮,用于实现打印和导出其它格式报表,如下图所示...: 在上面的工具栏,一共有9个按钮,分别用于实现打印及导出其它格式报表, 实际使用,如果希望这个工具栏只出现其中某些个工具的话,我们可以参数URL后面添加_t参数来实现,_t参数如果不指定,那么会显示所有的按钮...关于在线打印 UReport2的报表预览页面,可以看到UReport2提供了三种在线打印方式,分别是直接HTML打印、直接PDF打印以及PDF在线预览打印

    4.2K20

    XCode基本使用及调试技巧

    某个用户反馈他的通讯录的一个好友签名显示有问题,就可以对好友的用户名下条件断点直接调试有问题的用户信息。 另外条件断点对于一些因为异常数据导致的bug的调试也是很有用的。...1、 image命令 image命令可以列出当前App所有模块,可以查找一个地址对应的代码位置。 调试越狱插件时,可以方面的用image list命令查看越狱插件是否注入自己的App。...同样可以使用expr命令修改控件属性,内容、左边、大小等,这样可以不重启程序就能看到界面变化。...2、界面结构: 查看界面结构有一个比较有用的命令:po [view recursiveDescription],该命令可以打印出view的所有子view的结构关系,对于调试界面层级关系很有用。...3、Xcode5新特性快速预览: Xcode5支持调试时对变量进行快速预览,调试时将鼠标放在变量上,然后点击快速预览按钮即可看到控件的显示。 ?

    6.4K71

    JimuReport v1.6.2-GA3版本发布-修复高危SQL漏洞

    #升级修复ISSUES当单元格设置格式为数值是0值不显示#1936打印出现空白#1924使用统计函数=DBSUM,导致预览页面展示空白#1806单元格为数值类型,若为值0或者为空,控制台报错#1940...设计报表使用数据图表设置为SQL数据集无法运行更新并保存#1629横向分组使用右侧输入值无法预览#1864W列之后添加compute计算函数导致整个报表都无法显示#1866自定义函数参数中有单元格取值和自定义参数时...#1452报表数据超过1000多条时,导出失败#1749关于报表页面展示与导出excel样式不一致问题的补充#1646合并单元格并设置单元格格式为条形码或二维码时,某些样式下无法导出pdf#1649关于数据解析的问题...日期查询条件的日期变成上一天了#1886升级版本后手写分页失效#1453显示有误#1893固定表头打印#1941版本1.6.0图表显示异常,数据已经提取,但部分内容未显示完全,呈现空白#1921循环块插入二维码打印异常分页...#16551.5.8升级到1.6.1后,预览显示不全,打印预览正常#1931表单与预览不一致#1944模板设置无边框,导出Excel还是有边框#1512二维码生成的容错级别#1957jeecgboot3.5.3

    38300

    dotnet 从入门到放弃的 500 篇文章合集

    uwp 如何判断一个对象被移除 win10 uwp 如何在DataTemplate绑定方法 win10 uwp 如何开始写 uwp 程序 win10 uwp 如何打包Nuget给其他人 win10 uwp...win10 uwp 获取文件夹出错 win10 uwp 获得元素绝对坐标 win10 uwp 获得缩略图 win10 uwp 萤火虫效果 win10 uwp 让焦点在点击页面空白处时回到textbox...win10-uwp-应用转后台清理内存 win10-uwp-弹起键盘不隐藏界面元素 win10-uwp-快捷键 win10-uwp-截图-获取屏幕显示界面保存图片 win10-uwp-打包第三方字体到应用...-uwp-颜色转换 win10-uwp-验证textbox win10-uwp如何使用datatemplate win10uwp_app-to-app_communication_ying_yong_tong...隐藏窗口 WPF 好看的矢量图标 wpf 如何使用 Magick.NET 播放 gif 图片 WPF 如何在 WriteableBitmap 写文字 WPF 如何在应用程序调试启动 WPF 如何在绑定失败异常

    10.4K20

    win10 uwp DataContext

    适合于WPF的绑定和UWP的绑定。 我告诉大家很多个方法,所有的方法都有自己的优点和缺点,可以依靠自己喜欢的用法使用。当然,可以新手面前秀下,一个页面一个绑定方法。 开始是从最简单的来说起。...Window 而不是放在,所以为了 UWP 和WPF使用的都是相同。...因为所有控件几乎都继承于 FrameworkElement 于是页面任何地方都可以放这句话,不需要多余修改。...DataContext 新建资源 如果对于一个 ViewModel 只有一个页面使用,那么可以不需要写在 App ,因为这样会让其它的页面都可以访问 遇到上面的需要,只有一个页面需要 ViewModel...,也就是关闭了页面,也就自动关了 ViewModel ,说了这么,好像还没说如何在代码使用 viewModel 。

    50220

    win10 uwp DataContext

    适合于WPF的绑定和UWP的绑定。 我告诉大家很多个方法,所有的方法都有自己的优点和缺点,可以依靠自己喜欢的用法使用。当然,可以新手面前秀下,一个页面一个绑定方法。 开始是从最简单的来说起。...Window 而不是放在,所以为了 UWP 和WPF使用的都是相同。...因为所有控件几乎都继承于 FrameworkElement 于是页面任何地方都可以放这句话,不需要多余修改。...DataContext 新建资源 如果对于一个 ViewModel 只有一个页面使用,那么可以不需要写在 App ,因为这样会让其它的页面都可以访问 遇到上面的需要,只有一个页面需要 ViewModel...,也就是关闭了页面,也就自动关了 ViewModel ,说了这么,好像还没说如何在代码使用 viewModel 。

    86420

    【愚公系列】2023年11月 WPF控件专题 PrintDialog控件详解

    欢迎 点赞✍评论⭐收藏前言WPF控件是Windows Presentation Foundation(WPF)的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。...原生控件是由Microsoft提供的内置控件,Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见的标准用户界面元素。...一、PrintDialog控件详解PrintDialog控件是WPF的一个对话框,用于在打印文档时显示打印设置参数供用户选择并确认。...实现打印预览功能时,可以使用PrintDialog控件来设置打印机和打印选项,并将预览结果显示预览窗口中。.../>事件处理程序,实例化PrintDialog,设置打印机和页面设置,并将文本框的内容打印出来:private void Button_Click(object sender

    57211

    UWP 入门教程2——如何实现自适应用户界面

    系列文章 UWP入门教程1——UWP的前世今生 如上文所说的,布局面板根据可用的屏幕空间,指定界面元素的大小和位置。例如StackPanel 会水平或垂直排列界面元素。... 创建UWP可使用的工具 创建App时,通常会明确目标设备,当需要在设备预览App,可以使用VS的Preview toolbar(预览工具箱)查看App,可以模拟不同的设备,PC,...缩放因子能够兼容多种操作系统iOS,Android等,资源科跨平台共享。 通用输入处理 可使用通用控件创建通用Windows App来管理控制不同的输入模式,鼠标,键盘,触摸笔,控制器等。...用户体验 通用Windows App 可利用所有设备特征来呈现App.App可充分利用桌面设备的处理能力,平板电脑的自然交互方式,以及智能手机的便捷性和移动性等。...考虑如何兼容多种输入形式 通过Dashboard提交通用 Windows 应用 利用新的通用的 Windows 开发人员中心仪表板,可以同一位置管理和提交所有面向 Windows 设备的应用。

    3.1K50

    WEB 打印的相关技术分析

    只有将生成的组件下载并注册到客户机上,才能实现在客户端的 打印。 难点主要是定义打印格式、如何来分析打印源文件。...由于打印 内容是从数据库获取的,所以生成操作相对简单; 缺点:服务器端负载比较大; (二)、页面设置 页面设置主要是指设置打印文档的边距、页眉、页脚、纸张等内容。...打印模板可以控制边距、页眉、页脚、奇偶等内容,并可以将用户的设置取得,还可以将设置发送到服务器端。 打印模板技术可以自定预览窗口和打印格式,最大限度地影响目标文档和打印效果。...总之,现有的打印方案各有所长,开发过程应根据用户的需求作选择,利用IE打印简单,容易实现,在用户需求简单或打印内容较少的情况下采用此方案比较适宜。...利用自定义控件打印可以实现完全自定义,但需要较高的技术要求和开发周期。利用导出的方式则可以满足用户需要一点自定义或打印内容有的需求。

    2.3K20

    如何将GridViewEX升级到UWP(Universal Windows Platform)平台

    引言 上一篇文章,我们主要讲解了如何在保证GridView控件的用户体验基础上,扩展GridView生成GridViewEx控件,增加动态添加新分组功能等,本文在上文的基础上,介绍如何在Windows10...UWP平台提供了其他的解决方法AdaptiveTriggers,内置了自适应布局。因此创建UWP应用程序,首先需要删除所有ApplicationViewStates的代码。...但是UWP应用,非常灵活,桌面应用可以标题栏添加返回按钮,移动设备不仅能使用标题栏的返回键,也可以使用物理返回键实现导航功能。UWP的方法比较通用,且不需要编写自定义的Xaml文件。...现在由LayoutAwarePage派生而来的所有页面都可直接使用,无需多个文件添加引用。 LayoutAwarePage 类最后添加设备查询的静态方法,来检测运行时设备。...如果想保证应用程序Windows10具有与系统一致的界面风格和用户体验,可使用Windows 10 ThemeResources (主题资源)。 2.

    2.8K80
    领券