Ios 在Swift中创建PDF:自动创建新页面

Ios 在Swift中创建PDF:自动创建新页面,ios,objective-c,swift,pdf,Ios,Objective C,Swift,Pdf,我想在我的应用程序中包含一个(很长)表格的PDF创建 我使用本教程从HTML模板创建PDF文件: 但是,当我有一个很长的表(具有不同大小的行)时,我希望自动启动一个新页面。这是如何实现的(如果当前PDF页面已满,则检测) 示例:项目太多,页脚没有打印空间,并且缺少一些项目 由于页面高度最小,页脚与项目重叠。因此,请使用以下代码修复此问题: 课内发票编写器.swift func drawPDFUsingPrintPageRenderer(printPageRenderer: UIPrintPage

我想在我的应用程序中包含一个(很长)表格的PDF创建

我使用本教程从HTML模板创建PDF文件:

但是,当我有一个很长的表(具有不同大小的行)时,我希望自动启动一个新页面。这是如何实现的(如果当前PDF页面已满,则检测)

示例:项目太多,页脚没有打印空间,并且缺少一些项目


由于页面高度最小,页脚与项目重叠。因此,请使用以下代码修复此问题:

课内发票编写器.swift

func drawPDFUsingPrintPageRenderer(printPageRenderer: UIPrintPageRenderer) -> NSData! {
    let data = NSMutableData()
//UIGraphicsBeginPDFContextToData(data, CGRect.zero, nil)
    UIGraphicsBeginPDFContextToData(data, CGRect(x:0,y:0,width:612,height:822), nil)// Edit CGRect.zero with CGRect(x:0,y:0,width:612,height:822) makes space for footer
    for i in 0..<printPageRenderer.numberOfPages {
        UIGraphicsBeginPDFPage()
        printPageRenderer.drawPage(at: i, in: UIGraphicsGetPDFContextBounds())//Print(0.0, 0.0, 612.0, 792.0) for UIGraphicsGetPDFContextBounds()
    }

    UIGraphicsEndPDFContext()

    return data
}
func-drawPDFUsingPrintPageRenderer(printPageRenderer:UIPrintPageRenderer)->NSData!{
let data=NSMutableData()
//UIGraphicsBeginPDFContextToData(数据,CGRect.zero,nil)
UIGraphicsBeginPDFContextToData(数据,CGRect(x:0,y:0,宽度:612,高度:822),nil)//使用CGRect(x:0,y:0,宽度:612,高度:822)编辑CGRect.zero为页脚留出空间

对于0中的i..您是否找到或设法实现了解决方案?我对此也很感兴趣。嘿@akdsouza,不幸的是,到目前为止,我还没有找到解决方案。由于我的项目中所有行的高度都相同,因此我可以在N行之后手动启动新页面。不过,我也希望使用自动解决方案来处理大小不同的行。..