【发布时间】:2017-06-04 13:22:39
【问题描述】:
我有一个包含静态和动态数据的 html 文件,我需要从该 html 文件生成一个 PDF 文件。我可以创建 PDF 文件,但它只打印第一页。我需要一个三页的 PDF 文件。我使用了以下两个函数来绘制和保存 PDF 文件。 我的代码是:
func exportHTMLContentToPDF(HTMLContent: String) {
let printFormatter = UIMarkupTextPrintFormatter(markupText: HTMLContent)
let printPageRenderer = CustomPrintPageRenderer()
printPageRenderer.addPrintFormatter(printFormatter, startingAtPageAt: 0)
let pdfData = drawPDFUsingPrintPageRenderer(printPageRenderer: printPageRenderer)
pdfFilename = "\(AppDelegate.getAppDelegate().getDocDir())/FinalPdf.pdf"
pdfData?.write(toFile: pdfFilename, atomically: true)
print(pdfFilename)
}
func drawPDFUsingPrintPageRenderer(printPageRenderer: UIPrintPageRenderer) -> NSData! {
let data = NSMutableData()
UIGraphicsBeginPDFContextToData(data, CGRect.zero, nil)
UIGraphicsBeginPDFPage()
printPageRenderer.drawPage(at: 0, in: UIGraphicsGetPDFContextBounds())
UIGraphicsEndPDFContext()
return data
}
为此,我已按照 app coda 教程进行操作。对于多个页面,它表示将 PDF 页面创建的开始和打印页面渲染器绘制成一个循环。请帮我创建多页 PDF。
【问题讨论】: