【问题标题】:How Xamarin Forms iOS generate/creation PDF file?Xamarin Forms iOS 如何生成/创建 PDF 文件?
【发布时间】:2019-08-08 19:38:14
【问题描述】:

我正在寻找使用 Xamarin(Xamarin Forms 或 Xamarin iOS)从字符串生成 pdf 文件的解决方案

我找到了 iTextSharp、SelectPDF 或 Syncfusion 等库,但所有这些库都必须付费。我需要完全免费的解决方案。

PDFsharp 库几乎可以工作:

PdfDocument document = new PdfDocument();
PdfPage page = document.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont font = new XFont("Verdana", 20, XFontStyle.BoldItalic);
gfx.DrawString("Hello, World!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
const string filename = "HelloWorld.pdf";
document.Save(filename);

但在 'XFont' 处出现错误:“对类型 'FontFamily' 的引用声称它是在 'System.Drawing' 中定义的,但找不到它”。

Apple 提供了解决方案:link ,但这是我不熟悉的 Objective-c,当我将此代码粘贴到 Visual Studio 中时出现很多错误。

你有用 C# 编写的解决方案吗?

【问题讨论】:

    标签: xamarin xamarin.forms pdf-generation


    【解决方案1】:

    你可以使用这个库:PDFSharp.Xamarin.Forms

    我刚刚测试过,它在 iOS 上运行良好。

    您可以将CoreLibrary 文件夹中的项目引用到您的项目中。

    他使用dependence service保存pdf文件:

    var pdf = PDFManager.GeneratePDFFromView(mainGrid);
    
    DependencyService.Get<IPdfSave>().Save(pdf, "SinglePage.pdf");
    

    如果下载后无法运行,记得删除binobj文件夹并重建项目。

    【讨论】:

    • 嗨@Jack Hua - MSFT,我正在尝试您的代码,其中创建了 pdf 但无法保存。我正在使用pdf.Save(downloadPath)。即使我已授予存储权限,它也会给 UnAuthorisedException 访问路径。我需要创建IPdfSave 接口吗?以及如何访问它?
    【解决方案2】:

    你也可以使用SkiaSharp,一个很棒的绘图库,可以generate PDF files

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-05
      • 2016-12-03
      • 1970-01-01
      • 2019-04-29
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多