いくつかのPDF文書を表示するには、PDFKit(swift programming language、macOS)からPDFViewを使用しています。 同じPDFの複数のページを表示したいと思います。 解決策は、同じPDFから複数のPDFViewを作成することですが、このように複数の時間に同じメモリを割り当てる必要があり、これは画像が豊富なPDFの問題になる可能性があります。 同じPDFの異なるページを、たとえば4/8の異なる表示ですばやく表示する方法はありますか。複数のページから同じPDFファイルを見る
EDIT:@danielvの 貴重な提案は、最も可能性の高い、同じPDF文書の複数のページを表示する目的のためにうまく機能しないだろう、このコードに
import Cocoa
import Quartz
class PDFPageView: NSView {
var pdfPage: PDFPage?
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
if(pdfPage != nil) {
let context = NSGraphicsContext.current()
let pdfBox = PDFDisplayBox.mediaBox
let pdfBounds = pdfPage?.bounds(for: pdfBox)
let scaleX = visibleRect.width/(pdfBounds?.width)!
let scaleY = visibleRect.height/(pdfBounds?.height)!
let scale = min(scaleX,scaleY)
context?.cgContext.scaleBy(x: scale, y: scale)
pdfPage?.draw(with: pdfBox, to: (context?.cgContext)!)
}
}
}
「同じpdfの複数のページ」とはどういう意味ですか? PDFViewはすでに複数のページをスクロールビューで表示していますが、別の方法で表示したいですか? – danielv
@danielv最終的に私がやりたいことは、「3倍の1ページ」を持つことです.3枚のPDFViewを同じPDFについて作成していますが、使用するメモリを3倍にしたくありません。 – Nisba