如何在 Xamarin 表单中将 HTML 内容转换为 PDF

问题描述

我想将 HTML 内容转换为 PDF。我曾尝试使用第三方 API,如 GemBox、GrapeCity .. 这些都在 UWP 中工作,但在 android 中失败。

请提出任何解决方案。我也可以使用付费 API。

谢谢!

解决方法

如果您正在寻找一体式解决方案,您可以在此处查看 Leadtools 文档转换器 nuget:https://www.nuget.org/packages/Leadtools.Document.Sdk/ 免责声明:我受雇于该库的供应商

LEADTOOLS 支持 HTML -> PDF 以及许多其他格式。您可以在此处查看更多信息:https://www.leadtools.com/sdk/document/document-converter

该库支持 Android、UWP 和 iOS 上的 Xamarin,并且完全离线。

以下是适用于您的用例的代码片段:

using (var documentConverter = new DocumentConverter())
{
   var htmlString = File.ReadAllText(@"./test.htm");
   using (var ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(htmlString)))
   {
      var htmlDocument = DocumentFactory.LoadFromStream(ms,new LoadDocumentOptions());
      var jobData = DocumentConverterJobs.CreateJobData(htmlDocument,"output.pdf",DocumentFormat.Pdf);
      var job = documentConverter.Jobs.CreateJob(jobData);
      documentConverter.Jobs.RunJob(job);
   }
}