c# - 如何从 Xamarin 移动应用程序以编程方式生成 PDF 文件

标签 c# android ios pdf xamarin

我有相当多的数据要以类似样式的表格形式写入 PDF 文件,其中每条记录都需要换行。

我认为我不应该重新发明轮子并使用某种库。最好这需要是一个免费或开源库。我尝试使用 PDFSharp,它看起来非常适合,但它给了我错误:

Package 'PDFsharp-MigraDoc 1.50.5147' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.

我的问题是:是否有另一个库可以用来解决我的问题,而且它也是免费的?也许可以使 PDFSharp 库以正确的框架版本为目标?任何提示都是很好的提示,我期待着所有的提示。

最佳答案

如果您支持 Android API 19+,则可以使用没有其他依赖项的操作系统将 HTML 转换为 PDF。

因此,您可以在 HTML 中布置数据,然后按照此博客文章了解如何使用 Android 操作系统本身将其转换为 PDF。无需第三方库。

http://www.annalytics.co.uk/android/pdf/2017/04/06/Save-PDF-From-An-Android-WebView/ https://developer.android.com/training/printing/html-docs

同样可以在 iOS 上完成,您可以使用操作系统将 HTML 转换为 PDF。不确定这需要哪些 iOS 版本,但由于 Apple 打印系统使用 PDF,这应该可以追溯到很久以前。

这是一个例子。 http://aplus.rs/2018/html2pdf-renderer-for-ios/

不确定上面是否有 Xamarin 包装器。

除非您需要支持陈旧的 iOS/Android 操作系统,否则上述工作无需第 3 方工具,而且 HTML 可以说是目前最好的布局引擎。

关于c# - 如何从 Xamarin 移动应用程序以编程方式生成 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58431527/

相关文章:

Razor C# 中的 JavaScript 调用

c# - 使用 Entity Framework 实现 MVVM 模式 - 添加删除

c# - Datagridview 复选框列有死区

c# - 有没有一种简单的方法可以通过 C# 中的扩展名来确定文件是什么?

java - 根据 ListView 位置隐藏可扩展 ListView 的 groupIndicator

ios - Xcode 9.2 不支持 iOS 11.3 Xcode 需要 9.3

ios - 仅在单击完成按钮时将 UIPickerView 选择添加到 TextField

android - 在 Android 中搜索 SQLite 数据库

java - Android 从 drawable 加载图片

iOS Swift 动画有时不起作用