首页 > 解决方案 > 使用 PDFKit:如何进行分页符?

问题描述

寻找方向

我正在使用 PDFKit。一切都很好,但是无法找到有关如何停止在某个 y 位置绘制文本并开始下一页的方法(文档 / WWDC / 其他地方)。任何保存的参考资料或代码片段都会有很大帮助。

标签: swiftpdfkit

解决方案


我不知道,这是否是实现您的用例的最佳方式,但它对我有用。在 PDF_Context 中添加新行时,我会重新计算一个变量,以持续跟踪我的 PDF_Page 的当前内容高度。当它超过某个值时,我创建一个新页面,将内容高度设置为零并继续填充,...

你可能想在这里找到一些好的答案,练习 -> RayWenderlich。

// my initial value
private var myCurrentPageContentHeight: CGFloat = 20
        
// in your PDF fill procedures add something like
myCurrentPageContentHeight += 40
            
// I also have a struct the encapsulates 
// PageSize with padding, ...
            
enum PDF_PageSize {
     case din_A4_Portrait
     case din_A4_Landscape
                
      // -------------------------------
      // getPDF_TotalRect
      // -------------------------------
      func getPDF_TotalRect() -> CGRect {
           switch self {
           case .din_A4_Portrait : return CGRect(x: 0, y: 0, width: 595, height: 842)
           case .din_A4_Landscape : return CGRect(x: 0, y: 0, width: 842, height: 595)
           }
 }
 // ....
 }

推荐阅读