栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Swift for iOS以编程方式创建和存储PDF文档

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Swift for iOS以编程方式创建和存储PDF文档

我使用此代码创建和保存文件(使用HTML)

func createPDF() {    let html = "<b>Hello <i>World!</i></b> <p>Generate PDF file from HTML in Swift</p>"    let fmt = UIMarkupTextPrintFormatter(markupText: html)    // 2. Assign print formatter to UIPrintPageRenderer    let render = UIPrintPageRenderer()    render.addPrintFormatter(fmt, startingAtPageAt: 0)    // 3. Assign paperRect and printableRect    let page = CGRect(x: 0, y: 0, width: 595.2, height: 841.8) // A4, 72 dpi    let printable = page.insetBy(dx: 0, dy: 0)    render.setValue(NSValue(cgRect: page), forKey: "paperRect")    render.setValue(NSValue(cgRect: printable), forKey: "printableRect")    // 4. Create PDF context and draw    let pdfData = NSMutableData()    UIGraphicsBeginPDFContextToData(pdfData, .zero, nil)    for i in 1...render.numberOfPages {        UIGraphicsBeginPDFPage();        let bounds = UIGraphicsGetPDFContextBounds()        render.drawPage(at: i - 1, in: bounds)    }    UIGraphicsEndPDFContext();    // 5. Save PDF file    let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]    pdfData.write(toFile: "(documentsPath)/file.pdf", atomically: true)}

然后,

UIWebView
使用以下代码将其从documents目录加载到其中:

func loadPDF(filename: String) {    let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]    let url = URL(fileURLWithPath: documentsPath, isDirectory: true).appendingPathComponent(filename).appendingPathExtension("pdf")    let urlRequest = URLRequest(url: url)    webView.loadRequest(urlRequest)}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/616388.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号