gpt4 book ai didi

swift - 从 NSView 生成多页 PDF

转载 作者:行者123 更新时间:2023-11-28 12:29:39 24 4
gpt4 key购买 nike

我有一个多页文档,我使用 A4 大小的 NSView 显示单个页面(一次一个)。我使用“前进/后退”按钮来控制页面选择。所以每次按下按钮时,正确的页面都会在 NSView 中重新绘制。画的很简单,还算不错。

但我不知道如何生成多页 PDF 文档以包含我的所有页面。有人给了我一些将 NSView 的内容转换为 PDF 的代码,我正在使用该代码生成单页 PDF,但我真的很喜欢将所有页面绘制成一个 PDF。

有人能告诉我如何修改以下代码来做到这一点吗?非常感谢。

//////

     var fn: String = fnBase

for i in 0...TotalPage - 1 {

// This will tell DrawRect to draw page i
view.displayedPage = i

let bounds = CGRect(origin: CGPointZero, size: view.frame.size)
let data: NSData = view.dataWithPDFInsideRect(bounds)

fn = fnBase + "\(i+1).pdf"

data.writeToFile(fn, atomically: true)
}

最佳答案

我的解决方案:

import Quartz

var data = documentView.dataWithPDF(inside: NSMakeRect(0.0, 0.0, width, height))
let pdfDocument = PDFDocument(data: data)!

for i in 1..<pages {
data = documentView.dataWithPDF(inside: NSMakeRect(0.0, CGFloat(i) * height, width, height))
let pdfPage = PDFPage(image: NSImage(data: data)!)!
pdfDocument.insert(pdfPage, at: pdfDocument.pageCount)
}

关于swift - 从 NSView 生成多页 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42406248/

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