我需要从 UICollectionView完整内容创建 PDF 。我目前能够从UICollectionView Visible部分创建一个pdf。请帮助我,我想显示集合视图的全部内容。
答案 0 :(得分:0)
这就是我解决它的方式。 (斯威夫特3.x)
class PdfTools {
func generatePdfFromCollectionView(_ collectionView: UICollectionView?, filename:String, success:(String) -> ()) {
guard let collectionView = collectionView else {
return
}
let pdfData = NSMutableData()
let contentArea = CGRect(
x: 0,
y: 0,
width: collectionView.contentSize.width,
height: collectionView.contentSize.height
)
collectionView.frame = contentArea
UIGraphicsBeginPDFContextToData(pdfData, contentArea, nil)
UIGraphicsBeginPDFPage()
collectionView.drawHierarchy(in: collectionView.bounds, afterScreenUpdates: true)
UIGraphicsEndPDFContext()
if let filepath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first {
let fileFullPath = filepath + "/" + filename
if pdfData.write(toFile: fileFullPath, atomically: true) {
success(fileFullPath)
}
}
}
}
这就是你使用它的方式。
let pdfTool = PdfTool()
pdfTool.generatePdfFromCollectionView(self.collectionView, filename: "myFancy.pdf") { (filename) in
// use your pdf here
}