🌀Image+
在 Swift Playgrounds for iPad 中使用 PDF 圖檔。
🌀 Image(pdf: url)

import SwiftUI
// 🌀Image(pdf: url)
extension Image {
public init?(pdf url: URL) {
guard
let doc = CGPDFDocument(url as CFURL),
let page = doc .page(at: 1)
else { return nil }
let pageRect = page.getBoxRect(.mediaBox)
let renderer = UIGraphicsImageRenderer(size: pageRect.size)
let img = renderer.image { ctx in
UIColor.clear.set()
ctx.fill(pageRect)
ctx.cgContext.translateBy(x: 0.0, y: pageRect.size.height)
ctx.cgContext.scaleBy(x: 1.0, y: -1.0)
ctx.cgContext.drawPDFPage(page)
}
self = Image(uiImage: img)
}
}
使用前,必須先將 PDF 檔匯入 Swift Playgrounds 中:

插入 PDF 檔時,雖然只會出現一個奇怪的小圖,但它背後其實是一個 #fileLiteral (檔名不會顯示出來,除非放在附註區),它的真正型別是 URL。 👉 Swift Literals - NSHipster ⭐

Last updated
Was this helpful?