gpt4 book ai didi

ios - 在 Swift 中从 UIScrollView 创建一个 PDF 文件

转载 作者:搜寻专家 更新时间:2023-10-31 22:40:36 28 4
gpt4 key购买 nike

我想从 UIScrollView 的内容创建一个 PDF 文件。

func createPdfFromView(aView: UIView, saveToDocumentsWithFileName fileName: String) {
let pdfData = NSMutableData()
let height = 1754.0
let width = 1240.0
UIGraphicsBeginPDFContextToData(pdfData, CGRect(x:-30, y:15,width:width,height:height) , nil)
UIGraphicsBeginPDFPage()
guard let pdfContext = UIGraphicsGetCurrentContext() else { return }

aView.layer.render(in: pdfContext)
UIGraphicsEndPDFContext()

if let documentDirectories = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first {
let documentsFileName = documentDirectories + "/" + fileName
debugPrint(documentsFileName)
pdfData.write(toFile: documentsFileName, atomically: true)
}
}

我希望代码生成一个基于 ScrollView 中内容大小的 PDF。

该代码目前仅生成静态 PDF。如果 ScrollView 中的内容大于 PDF 页面,则内容被截断。

最佳答案

func createPdfFromView()
{
// Set frame as per content of view

self.spreadsheetView.frame = CGRect(x: 0, y: 0, width: self.spreadsheetView.contentSize.width, height: self.spreadsheetView.contentSize.height)
let pdfPageBounds: CGRect = self.spreadsheetView.frame
let pdfData: NSMutableData = NSMutableData()

// Rendering spreadsheetView
UIGraphicsBeginPDFContextToData(pdfData, pdfPageBounds, nil)
UIGraphicsBeginPDFPageWithInfo(pdfPageBounds, nil)
self.spreadsheetView.layer.render(in: UIGraphicsGetCurrentContext()!)
UIGraphicsEndPDFContext()
let documentDirectories = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
let documentsFileName = documentDirectories! + "/" + "pdfName.pdf"
pdfData.write(toFile: documentsFileName, atomically: true)
print(documentsFileName)

// Reset spreadsheetView
self.spreadsheetView.frame = CGRect(x: 0, y: 64, width: self.view.frame.width, height: self.view.frame.height)
self.spreadsheetView.layoutSubviews()
self.spreadsheetView.layoutIfNeeded()
self.spreadsheetView.reloadData()}

希望它能帮助您从电子表格创建 PDF。

引用。 Github代码链接:SpreadsheetView

关于ios - 在 Swift 中从 UIScrollView 创建一个 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47605767/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com