如何将 Xamarin.Forms XAML UI 页面转换为 PDF 文件?

2024-02-24

在Xamarin.Forms中,我想将我的xaml页面UI(有时我的页面在有更多内容时是可滚动的)转换为PDF。我已经尝试过PDFSharp (https://github.com/akgulebubekir/PDFSharp.Xamarin.Forms https://github.com/akgulebubekir/PDFSharp.Xamarin.Forms)开源。但它仅适用于 UWP,并且在 iOS 和 Android 中存在一些问题。

那么有没有免费的开源插件可以在所有三个平台上将 XAML UI 转换为 PDF?如果开源不可用,是否有其他方法或解决方法可以在 android、ios 和 UWP 中实现它?

提前致谢。


我在这方面遇到了一些麻烦,并设法使用 UIkit 和 PdfKit 工具来做到这一点。

这是一个例子:

using UIKit;
using PdfKit;

//Calculate scroll View height
double xamlHeight = XamlFullPage.Height;
int numberOfPages = (int)Math.Ceiling(xamlHeight / Application.Current.MainPage.Height);

// Create a new PDF document
PdfDocument document = new PdfDocument();

for (int i = 0; i<numberOfPages; i++) //while all the page have not been taken into account
{
        await SummaryScrollView.ScrollToAsync(0, i*Application.Current.MainPage.Height, false).ConfigureAwait(false); //find the beginning of the current page
        //Captures the XAML page as an image and returns the image in memory stream
        var image = UIScreen.MainScreen.Capture();
        // Create a page with the printscreen
        PdfPage page = new PdfPage(image);
        //insert page in the i position
        document.InsertPage(page, i);
        page.Dispose();
}

//Write file in temp folder
          document.Write(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "TuitionFees" + fileName + ".pdf"));`



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Xamarin.Forms XAML UI 页面转换为 PDF 文件? 的相关文章

  • 无法部署到真实的 Android 设备 Xamarin

    我的问题与这篇文章有关即使应用程序似乎未安装 也会失败 INSTALL FAILED UPDATE INCOMPATIBLE https stackoverflow com questions 26794862 failure instal
  • 我可以以编程方式更改 Xamarin.Forms 中的 styles.xml 吗?

    我们有一个可自定义颜色的应用程序 这使得列表视图中所选项目的橙色 Android 默认值有时看起来很糟糕 我们想要更改列表视图所选项目的颜色 我知道如何在我们页面的后台代码 xaml cs 中执行此操作 并且我知道您可以在 styles x
  • 仅生成一张电子表格的 PDF

    我需要一个只用一张电子表格创建 PDF 的脚本 我目前有一个生成 PDF 的脚本 但它处理整个文件 我无法将这些值复制到另一个文件 因为我需要导出的工作表是带有从另一个工作表中提取的数据的图形 你可以帮帮我吗 谢谢 function myF
  • Xamarin Apple 帐户错误:加载证书时出错:对象引用未设置到对象的实例

    我正在尝试解决我有这个问题 https stackoverflow com questions 69286865 a valid provisioning profile for this executable was not found
  • Xamarin.iOS 目标 iOS 6 SDK

    我们已升级到 XCode 5 和 Xamarin iOS 7 x 但有一个应用程序尚未准备好支持 iOS 7 有没有办法以 iOS 6 0 SDK 为目标 并编译应用程序 使其具有旧的 iOS 6 键盘等 我们尝试更改 iOS Build
  • XAML解析异常

    我有一个简单的 XAML 页面 当它作为 Visual Studio 中任何应用程序的一部分加载时 加载效果良好 但是 当我使用 ClickOnce 部署此应用程序时 出现以下异常 Type System Windows Markup Xa
  • ASP.NET MVC 和 Expression XAML - 如何集成?

    一些背景 ASP net MVC 主要是构建和开发 ASP NET 应用程序方式的范式转变 从 代码隐藏 类型的心态转变为更像标准 MVC Ruby on Rails 的心态 我赞扬它作为一种简化工具来简化单元测试和代码分离 尽管 html
  • 滚动到 ScrollViewer 末尾的最佳方法

    目前 当我添加新项目时 我让代码自动滚动到末尾的唯一方法如下 XAML
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • Xamarin.forms 长时间运行的后台工作

    我是 Xamarin 平台的新手 我正在使用 Xamarin forms 为所有三个主要平台 WP iOS Android 开发应用程序 如何在后台与我的服务器同步数据 gt 我需要类似于 Android Service 的东西 即使用户转
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 如何在 WinRT XAML Toolkit 折线图中设置轴边距?

    Answer 最后我用这个解决了我的答案 LineSeries MyChart Series 0 IndependentAxis new LinearAxis Minimum 1 Maximum 5 Orientation AxisOrie
  • 汉堡菜单棱镜xamarin形式?

    我正在尝试在 Xamarin Forms 中使用 Prism 创建一个应用程序 Xamarin 表单版本 2 3 3 175 棱镜版本 6 2 0 汉堡菜单可以在 Android 中使用 但是当我在 UWP 上运行它时 它不会显示图标 而且
  • 使用pdfbox从pdf中提取图像

    我正在尝试使用 pdfbox 从 pdf 中提取图像 示例 pdfhere http www ignou ac in upload questionpaper CS 74 PDF 但我只得到空白图像 我正在尝试的代码 public stat
  • 点击当前选项卡刷新页面时的 Xamarin.Forms TabbedPage 事件

    我正在使用 Xamarin Forms 构建 iOS Android 应用程序 并有一个 TabbedPage 如果用户已经在选项卡 2 上 并且单击了选项卡 2 并且我希望刷新选项卡 2 或者运行我自己的函数 以便我可以自己刷新它 有没有
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 如何将 Hex 或 RGB 颜色分配给 Android Converter 中的 MvxColor

    我有如下转换器 我想返回我自己的十六进制或 RGB 颜色 In iOS public class PinkSelectedWhiteUnselectedValueConverter MvxValueConverter
  • 如何使取消按钮像“X”按钮一样工作?

    在我的 XAML 文件中 我有一个窗口 我试图将其设置为无论用户单击 X 按钮还是单击 取消 按钮 行为都是相同的 我的缩写代码如下 public partial class Dialog Window private void Windo
  • IE 中的 Google 文档查看器

    我到处寻找解决方案 但找不到 我在用着谷歌文档查看器 https drive googleblog com 2009 09 view online files using google docs html查看 PDF 文件 这是一个很棒的工
  • SQLite-Net 扩展 - GetAllWithChildrenAsync 未提取所有内容

    我正在尝试使用 SQLite Net 扩展来创建关系数据库 我在尝试从数据库中提取 Term 对象时遇到了问题 它成功地撤回了其关联的课程 但未撤回与课程关联的评估和笔记 我不确定问题是否在于如何将对象插入数据库 如何从数据库中提取对象 或

随机推荐

  • Meteor如何在mongo中保存模板

    我想让我的用户能够创建文档模板 合同 电子邮件等 我想出的最好的选择是将这些文档模板存储在 mongo 中 也许我错了 我已经搜索了几个小时 但我不知道如何使用它们的数据上下文呈现这些文档模板 Example Template stored
  • Jupyter 编辑模式下是否有删除行的快捷方式?

    In Jupyter s edit mode is there a shortcut for deleting a line of text Something like Ctrl L in Visual Studio Shift Dele
  • 如何确保分页 REST API 中的数据完整性?

    我目前正在研究 REST API API返回的资源预计是来自数据库的海量数据 数据库中有数千万行 分页是必须的 以避免将数据写入 HTTP 响应时消耗大量内存 当客户端请求之间数据库中存在删除 添加行时 如何确保数据完整性 例如 page
  • Android 共享首选项的空指针异常

    我试图在共享首选项中保存一个整数值 并在应用程序重新启动时再次加载它 我在我的主要活动中创建了一个共享首选项 并尝试在单击菜单项时在另一个菜单侦听器类中保存整数值 菜单侦听器类位于不同的包中 并且菜单侦听器类扩展了主活动 但是当我尝试这样做
  • 如何使 GCC 将 .text 部分编译为 ELF 二进制文件中的可写部分?

    我希望能够动态更改我正在使用的库中的可执行代码 本质上 我想动态地 NOP 掉某些不需要的函数 但是 我正在使用的库的 text 部分是不可写的 大多数程序都是如此 我有该库的源代码 因此想使用 GCC 将其编译为可写 有没有办法做到这一点
  • Linq to SQL 如何执行“where [column] in (值列表)”

    我有一个函数 可以获取 id 列表 并且需要返回与该 id 关联的描述相匹配的列表 例如 public class CodeData string CodeId get set string Description get set publ
  • 如何调整 vb6 程序的大小,使其自动适应任何屏幕分辨率?

    我怎样才能有一个在 1280 1024 下正确打开的 vb6 程序 但当切换到其他分辨率 例如 640 480 时 我只能看到一半的屏幕 如何重新调整我的 vb6 程序的大小 以便它自动适合任何屏幕分辨率 您需要使用Screen对象 这将始
  • 更改 Html.DisplayFor 布尔复选框 MVC

    我有一个布尔属性 IsActive 视图中是对象及其属性 包括 IsActive 的列表 但在列表中 IsActive 是一个不可编辑的复选框 因为它是布尔值 如果我将 DisplayFor 更改为 DisplayTextFor 那么它将只
  • Excel VBA:合并循环内的范围

    I want to merge that repeating Chapters into just one cell by Chapter 这是我的代码如何进行循环的 Dim label As Control Dim itm As Obje
  • C中最好的计时方法?

    以高分辨率和可移植性对代码部分进行计时的最佳方法是什么 Time from here ProcessIntenseFunction to here printf Time taken d seconds d milliseconds sec
  • Maven Tycho:如何在产品构建中排除 eclipsec.exe?

    我将 Eclipse RCP 产品的构建从 PDE 构建切换到 Maven Tycho 除了主 品牌 启动器可执行文件之外 该产品现在还包括 eclipsec exe 文件 我们希望从我们的产品中省略这个基于控制台的启动器 因为它可能会让我
  • LinkedIn API 获取公司所有员工吗?

    是否可以获取公司所有员工的名单 不仅在当前用户网络中 就像这样的搜索返回 http api linkedin com v1 people search company name Apple 这在 LinkedIn 主网站上是可能的 所以我不
  • 在自定义验证属性中使用数据库上下文

    我正在尝试在我的 Core 2 项目中创建一个验证属性 它需要根据数据库中保存的现有值列表来验证该值 下面的代码不起作用 它无法访问数据库上下文 有什么想法为什么 如何纠正吗 public class BibValidatorAttribu
  • typeid 运算符返回的对象的生命周期是多少?

    如果我打电话typeid并检索返回的地址type info const type info info typeid Something 返回的对象的生命周期是多少typeid指向该对象的指针将保持有效多久 然而 实施实施了它们 结果type
  • R 箱线图频率

    我需要帮助 我正在使用R分析一些数据 我有一个名为 mytable 的频率表 我创建的如下 mytable table cut var1 12 cut var2 12 该表看起来像这样 1 2 2 3 3 4 1 3 2 1 2 3 6 0
  • IBM DB2 中的数据类型转换:BIGINT 到 VARCHAR

    我正在编写一个查询来做一些事情 但它没有按照我想要的方式工作 select CORR ID from TABLE1 where CORR ID not in select id from TABLE2 问题是 TABLE2 id 是一个 l
  • Cloud Functions for Firebase 可以跨项目使用吗?

    我希望每当新的 Pub Sub 消息发送到第三方项目 即跨项目 中的主题 订阅时触发 Pub Sub 函数 使用functions pubsub onPublish 经过一些研究和实验 我发现如果主题名称包含 并且默认为 projects
  • 我在 Flutter/Dart 异步代码执行方面遇到问题,例如它是如何工作的

    在 Flutter 中 我们使用 async wait 和 Future 有人可以解释一下 如果我们不使用另一个线程 在 dart 中不能这样做 并仅在主 UIThread 上运行作业 应用程序不会变得不稳定 因为即使我们等待作业执行它最终
  • 测试返回 IEnumerable 的函数

    有人可以指导我如何为返回 Ienumerable 的方法编写测试吗 这是我的方法 public IEnumerable
  • 如何将 Xamarin.Forms XAML UI 页面转换为 PDF 文件?

    在Xamarin Forms中 我想将我的xaml页面UI 有时我的页面在有更多内容时是可滚动的 转换为PDF 我已经尝试过PDFSharp https github com akgulebubekir PDFSharp Xamarin F