【发布时间】:2021-10-16 16:48:44
【问题描述】:
如何为这样生成的 PDF 设置标题和作者等元数据?
let fmt = UIMarkupTextPrintFormatter(markupText: html)
let render = UIPrintPageRenderer()
render.addPrintFormatter(fmt, startingAtPageAt: 0)
let page = CGRect(x: 0, y: 0, width: 595.2, height: 841.8)
render.setValue(page, forKey: "paperRect")
render.setValue(page, forKey: "printableRect")
let pdfData = NSMutableData()
let pdfMetaData = [
kCGPDFContextCreator: "xxx",
kCGPDFContextAuthor: "xxx",
kCGPDFContextTitle: "xxx"
]
UIGraphicsBeginPDFContextToData(pdfData, .zero, pdfMetaData)
for i in 0..<render.numberOfPages {
UIGraphicsBeginPDFPage();
render.drawPage(at: i, in: UIGraphicsGetPDFContextBounds())
}
UIGraphicsEndPDFContext();
如您所见,我只将 PDF 生成为数据。 如果我分享这些数据,我会得到一张这样的表格:
如您所见,标题为空,您只能看到应用徽标。我想要的是这样的头条:
当我将它保存到文件时,名称也是“PDF 文档”! :(
我认为这行代码可以解决它:
let pdfMetaData = [
kCGPDFContextCreator: "xxx",
kCGPDFContextAuthor: "xxx",
kCGPDFContextTitle: "xxx"
]
UIGraphicsBeginPDFContextToData(pdfData, .zero, pdfMetaData)
感谢您的宝贵时间!布托什
编辑:这个标题(如第二张图片)甚至是 PDF 标题吗?
【问题讨论】:
标签: swift pdf uikit pdf-generation core-graphics