Как преобразовать длинный просмотр SwiftUI в PDF с несколькими страницами в SwiftUI iOS?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как преобразовать длинный просмотр SwiftUI в PDF с несколькими страницами в SwiftUI iOS?

Сообщение Anonymous »

Я хочу создать PDF-файл с несколькими страницами, если высота содержимого представления SwiftUI на iPad превышает 1500.
Множество решений в Google, которые я пробовал, не сработали.
Мне нужно преобразовать все представление SwiftUI в несколько страниц PDF на iPad.
Размер представления SwiftUI = CGSize(width: 1118.0) , , высота: 1700,0)
Изображение

Я добавил сюда изображение своего представления и хочу, чтобы это представление было размещено на нескольких страницах PDF, поскольку высота моего представления превышает высоту формата A4.
@MainActor func render(view: some View) -> URL? {
// 1: Render Hello World with some modifiers
if #available(iOS 16.0, *) {
let renderer = ImageRenderer(content: view)
// 2: Save it to our documents directory
let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let url = documentDirectory.appendingPathComponent("SwiftUIPDF1.pdf")

print(url)

// 3: Start the rendering process
renderer.render { size, context in
// 4: Tell SwiftUI our PDF should be the same size as the views we're rendering
var box = CGRect(x: 0, y: 0, width: size.width, height: size.height)

// 5: Create the CGContext for our PDF pages
guard let pdf = CGContext(url as CFURL, mediaBox: &box, nil) else {
return
}

// 6: Start a new PDF page
pdf.beginPDFPage(nil)

// 7: Render the SwiftUI view data onto the page
context(pdf)

// 8: End the page and close the file
pdf.endPDFPage()
pdf.closePDF()
}

return url
} else {
// Fallback on earlier versions
}
return nil
}


Подробнее здесь: https://stackoverflow.com/questions/759 ... wiftui-ios
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Преобразовать массив символов ASCII в длинный и длинный в массив символов
    Anonymous » » в форуме JAVA
    0 Ответы
    66 Просмотры
    Последнее сообщение Anonymous
  • Как предотвратить разделение элемента между страницами при экспорте в PDF с использованием реакции на PDF?
    Anonymous » » в форуме CSS
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с доступом к таблице с несколькими страницами [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с доступом к таблице с несколькими страницами [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Длинный текстовый просмотр Android
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»