Skip to content

Instantly share code, notes, and snippets.

@haikusw
Forked from chriseidhof/ViewToPDF.swift
Created January 7, 2023 08:59
Image Rendering
import SwiftUI
extension View {
@MainActor
func pdf(size: ProposedViewSize) -> Data {
let renderer = ImageRenderer(content: self)
renderer.proposedSize = size
var pdfData = NSMutableData()
renderer.render { size, render in
var mediaBox = CGRect(origin: .zero, size: size)
let consumer = CGDataConsumer(data: pdfData)!
let pdfContext = CGContext(consumer: consumer, mediaBox: &mediaBox, nil)!
pdfContext.beginPage(mediaBox: &mediaBox)
render(pdfContext)
pdfContext.endPage()
pdfContext.closePDF()
}
return pdfData as Data
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment