【发布时间】:2017-12-25 21:02:19
【问题描述】:
我想打印 Xamarin.Forms 跨平台应用程序的当前 UI。是否有任何可用的插件或库支持 android ios 和 uwp 项目来执行此操作?我非常感谢您指出正确的方向,以便开始在我的应用程序中实现此类功能。
【问题讨论】:
标签: xamarin xamarin.forms
我想打印 Xamarin.Forms 跨平台应用程序的当前 UI。是否有任何可用的插件或库支持 android ios 和 uwp 项目来执行此操作?我非常感谢您指出正确的方向,以便开始在我的应用程序中实现此类功能。
【问题讨论】:
标签: xamarin xamarin.forms
我会分两步解决这个问题。首先,您需要将当前的视觉效果转换为可打印的文件类型。因此,假设我们主要使用移动设备,那么我们应该使用“屏幕截图”机制。
另一个堆栈溢出帐户HERE 有一个很好的答案,它指导您使用依赖注入在 xamarin 表单中设置屏幕截图。小伙子的回答直截了当,易于理解。
一旦您将屏幕截图保存为 png 或 jpeg 等格式,就可以打印它了。 xamarin 开发者论坛上有很多专门讨论从 xamarin 打印的问题的主题,可以找到这些主题的集合HERE.
首先值得一提的是,xamarin 表单 (XF) 支持的每个平台都有自己的打印机制。 XF 不为以跨平台方式打印提供任何抽象。您需要为每一层编写打印逻辑,并使用 DependencyServices 将其公开给 XF。
Android Printing - 这是一个在 android 中打印的链接。
iOS Printing - 这是在 iOS 中打印的链接 (Heres a sample app to help you as well.)
正如我之前提到的,由于 xamarin 尚未在 Forms 中为此创建简单的跨平台机制,因此它并不像您想象的那么简单,并且确实需要一些工作来实现。但没有一项工作过于复杂,它使用标准的依赖模式,实际上只是需要的大量代码看起来有点令人生畏。
【讨论】: