---
title: "init(URL:options:documentAttributes:)"
framework: foundation
role: symbol
role_heading: Initializer
path: "foundation/nsattributedstring/init(url:options:documentattributes:)"
---

# init(URL:options:documentAttributes:)

Creates an attributed string from the contents of the specified URL.

## Declaration

```swift
init(URL url: URL, options: [NSAttributedString.DocumentReadingOptionKey : Any] = [:], documentAttributes dict: AutoreleasingUnsafeMutablePointer<NSDictionary?>?) throws
```

```swift
init(url: URL, options: [NSAttributedString.DocumentReadingOptionKey : Any] = [:], documentAttributes dict: AutoreleasingUnsafeMutablePointer<NSDictionary?>?) throws
```

## Parameters

- `url`: An NSURL object specifying the document to load.
- `options`: Attributes for interpreting the document contents. Specify the doc://com.apple.foundation/documentation/Foundation/NSAttributedString/DocumentAttributeKey/documentType or doc://com.apple.foundation/documentation/Foundation/NSAttributedString/DocumentReadingOptionKey/fileType option to interpret the data as a specific type. When sharing files between different platforms, specify the doc://com.apple.foundation/documentation/Foundation/NSAttributedString/DocumentReadingOptionKey/sourceTextScaling or doc://com.apple.foundation/documentation/Foundation/NSAttributedString/DocumentReadingOptionKey/targetTextScaling options for any required text scaling behaviors. Specify the doc://com.apple.foundation/documentation/Foundation/NSAttributedString/DocumentAttributeKey/characterEncoding attribute for plain-text files. Specify the doc://com.apple.foundation/documentation/Foundation/NSAttributedString/DocumentAttributeKey/defaultAttributes key to apply document attributes to the returned string. If you specify an empty dictionary, the method identifies the data format from the data itself.
- `dict`: An in-out dictionary containing document-level attributes. On output, this method updates the dictionary to contain any document-specific keys found in the data. Specify nil if you don’t want the document attributes.

## Return Value

Return Value Returns an initialized attributed string object, or nil if the method can’t decode the data.

## Discussion

Discussion Filter services can be used to convert the file into a format recognized by Cocoa. The options dictionary specifies how the document should be loaded and can contain the values described in NSAttributedStringDocumentReadingOptionKey. If you specify the documentType or fileType attribute, this method treats the data as if it is in the specified format. If you don’t specify one of these options, the method examines the document and loads it using whatever format it seems to contain. If an error occurs, the method returns nil and sets the error parameter to an NSError object with information about why it couldn’t create the attributed string object. note: In Swift, this API is imported as an initializer and is marked with the throws keyword to indicate that it throws an error in cases of failure. You call this method in a try expression and handle any errors in the catch clauses of a do statement, as described in Error Handling in The Swift Programming Language and About Imported Cocoa Error Parameters.

## See Also

### Creating from a data file

- [init(data:options:documentAttributes:)](foundation/nsattributedstring/init(data:options:documentattributes:).md)
- [init(docFormat:documentAttributes:)](foundation/nsattributedstring/init(docformat:documentattributes:).md)
