如何将 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 文件? 的相关文章

  • 使用数学符号注释 Adob​​e Reader PDF

    我阅读的许多数学教科书和其他文献都是 PDF 格式 因此我经常使用 Adob e Reader 注释工具对它们进行注释 我确实找到了一个有用的指南 http cjasn asnjournals org site misc annotatin
  • 将 PDF 转换为 JPG 时质量低

    我正在尝试使用 Imagemagic RMAgick 将 PDF 文档转换为图像 原始 PDF 也是从图像创建的 不是原生矢量 PDF image Magick Image from blob original pdf self forma
  • Xamarin Forms 框架阴影设计

    我有一个带有列表的 Xamarin 内容页面 对于 ListItems 我想要类似于 Android 中的卡片视图的东西 根据我发现可以通过框架来完成 我有这个代码
  • 目标“MonoAndroid,版本= v6.0”项目依赖项

    我的 Visual studio 2017 nuget 包无法安装 Xamarin Forms 可移植类库项目中出现以下错误 严重性代码 说明 项目文件行抑制状态 错误无法安装包 Xamarin Android Support Compat
  • 如何将嵌入的 ICC 配置文件信息转储为 PDF? (命令行或 GUI 工具)

    它在那里命令行或 GUI 工具转储有关 ICC 配置文件 颜色转换的信息 这些信息是在 Illustrator 的 PDF 导出对话框中设置的 PDF 的颜色管理和 PDF X 选项 选项 Illustrator 的 PDF 颜色管理和 P
  • 按钮 VisualState Focused 不起作用

    我试图在单击按钮时更改按钮的字体颜色 我尝试了很多不同的方法 但没有一个有效 这是我尝试过的最新方法 我认为应该是答案 但它不起作用 有人可以帮忙吗 PointerOver 工作正常 但单击按钮时 Focused 没有执行任何操作
  • 在 WebView 中打开 PDF 文件

    大约 2 天 我尝试在我的自定义中打开 PDF 文件WebvView 这是我的WebView code import android app AlertDialog import android app ProgressDialog imp
  • C# 3.0 使用MemoryStream将itextsharp pdf保存到数据库

    我正在尝试将 itextsharp 生成的 pdf 文件保存到数据库 但是 到目前为止我还没有成功 我正在使用 Linq to sql 这是代码 MemoryStream ms new MemoryStream Document d new
  • 如何以编程方式生成在图像顶部带有标签的维恩图图像?

    我正在尝试为 pdf 报告生成维恩图 其中文本位于不同区域的顶部 我们使用 htmldoc 生成 pdf 这会排除背景图像之上的文本 我们使用谷歌图表 API 来处理其他图像 但他们的维恩图不支持图表顶部的文本 据我所知 最简单的路径是使用
  • 以编程方式识别 PDF 文件中的扫描文本 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个 PDF 文件 其中包含我们需要导入数据库的数据 这些文件似乎是打印的字母数字文本的 pdf
  • Wpf ICollectionView 绑定项无法解析类型对象的属性

    我已经绑定了一个GridView与ICollectionView在 XAML 设计器中 属性是未知的 因为CollectionView已转化为类型Object并且无法访问实体属性 它运行良好 没有错误 但设计器将其显示为错误 如果我绑定到集
  • 使用cmd批处理文件获取pdf中的页数

    我可以看到使用 C PHP 和其他语言获取 pdf 中的页数有很多问题 但我想知道使用批处理文件或 cmd 是否有一种简单的方法来获取页数 Using pdftk http www accesspdf com pdftk pdftk my
  • 构建成功时,Intellisense 不断显示错误 Visual Studio 2015

    因此 我正在开发一个 Xamarin 项目 突然 Visual studio 2015 开始崩溃 它几乎在所有内容下都显示错误红线 例如 InitializeComponent 在每个页面中都有红线 项目构建和运行没有错误 错误仅来自 In
  • 如何在 WPF 应用程序中实现气球消息

    我们想使用气球消息 如UX Guide http msdn microsoft com en us library aa511451 aspx来自微软 我发现一些示例使用 Windows 窗体中的本机代码 但本机代码需要组件的句柄 这对于
  • Rails 4 - 如何链接到 PDF 文件(名称.PDF)?

    我正在生成 PDF 文件 我的链接如下所示 当我点击这个时 它会带我去 display invoice 123456789 这是一个 HTML 版本 在控制器中的操作如下 def display invoice if params invo
  • Xamarin Forms WebView 打开外部链接

    我的应用程序中有一个网络视图 当单击外部链接 在普通浏览器中在新选项卡中打开 时 我无法返回我的网站 当打开一个新标签时 有可能像 Gmail 一样关闭该标签的菜单吗 目的是 每当单击链接时 用户都可以选择使用哪个选项来查看内容 例如单击链
  • 使用 iTextSharp 5.3.3 和 USB 令牌签署 PDF

    我是 iTextSharp 和 StackOverFlow 的新手 我正在尝试使用外部 USB 令牌在 C 中签署 PDF 我尝试使用从互联网上挖掘的以下代码 Org BouncyCastle X509 X509CertificatePar
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题
  • Xamarin.Forms - 在运行时在深色和浅色主题之间切换

    1 是否可以使用 2 3 x 版本中引入的 Xamarin Forms 主题 下面的链接 在浅色和深色主题之间切换 有什么解决办法吗 https developer xamarin com guides xamarin forms user
  • 谷歌地图url如何定义圆形标记?

    我想打开默认地图应用程序 但我想要一个圆形标记 而不是默认标记 这就是我所拥有的 case Device Android if string IsNullOrEmpty imovel Endereco Freguesia uri new U

随机推荐

  • 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