---
title: "init(for:source:)"
framework: swiftui
role: symbol
role_heading: Initializer
path: "swiftui/newdocumentbutton/init(for:source:)"
---

# init(for:source:)

Creates a button that creates new documents using data from pasteboard.

## Declaration

```swift
nonisolated init<D>(for type: D.Type, source: NewDocumentButtonDataSource) where D : FileDocument
```

## Parameters

- `type`: Type of documents to create from pasteboard data.
- `source`: A source of data that fills the newly created document.

## Discussion

Discussion struct NewTextDocumentFromPasteboardButton: View {     var body: some View {         NewDocumentButton(             for: TextDocument.self, source: .pasteboard         )     } }

struct TextDocument: FileDocument { ... }
