HTML字符串到PDF转换

时间:2016-09-22 09:12:13

标签: pdf swift3

我需要以PDF格式创建各种报告并通过电子邮件发送给特定的人。我设法将HTML模板加载到字符串中,并且正在替换某些"自定义标记"有真实的数据。最后,我有一个可查看的HTML文件。此文件现在必须打印成PDF格式,我可以在关注此链接后查看:https://www.appcoda.com/pdf-generation-ios/。我的问题是我不明白如何确定HTML文件中的页数,因为pdf渲染器需要逐页创建。

1 个答案:

答案 0 :(得分:0)

我知道这是一个老话题,我想在这里留下这个答案。我也使用了你提到的同一个教程,这就是我做多页面的工作。只需修改drawPDFUsingPrintPageRenderer方法,如下所示:

func drawPDFUsingPrintPageRenderer(printPageRenderer: UIPrintPageRenderer) -> NSData! {
        let data = NSMutableData()

        UIGraphicsBeginPDFContextToData(data, CGRect.zero, nil)
        printPageRenderer.prepare(forDrawingPages: NSMakeRange(0, printPageRenderer.numberOfPages))

        let bounds = UIGraphicsGetPDFContextBounds()

        for i in 0...(printPageRenderer.numberOfPages - 1) {
            UIGraphicsBeginPDFPage()
            printPageRenderer.drawPage(at: i, in: bounds)
        }

        UIGraphicsEndPDFContext()

        return data
}

在自定义PrintPageRenderer中,您可以访问numberOfPages以获得页面总数