使用 PDFKit:如何进行分页?
Working with PDFKit: How to make page breaks?
寻找方向
我正在使用 PDFKit。一切都很好,但找不到关于如何停止文本在某个 y 位置绘制并开始下一页的方法(文档/WWDC/其他地方)。任何已保存的参考或代码片段都会有很大帮助。
我不知道,这是否是实现您的用例的最佳方式,但它对我有用。
在 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)
}
}
// ....
}
寻找方向
我正在使用 PDFKit。一切都很好,但找不到关于如何停止文本在某个 y 位置绘制并开始下一页的方法(文档/WWDC/其他地方)。任何已保存的参考或代码片段都会有很大帮助。
我不知道,这是否是实现您的用例的最佳方式,但它对我有用。 在 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)
}
}
// ....
}