# EmbeddedFilesCollection

The `EmbeddedFilesCollection` class holds a collection of `EmbeddedFile` instances, assigned to the `EmbeddedFiles` property of the document. The collection exposes properties and methods that allow you to access, add, or remove the embedded file streams in a document.

## Properties

| Property                 | Description                                                        |
| ------------------------ | ------------------------------------------------------------------ |
| `Names`                  | Gets a collection containing the names in the collection.          |
| `Count`                  | Gets the number of embedded files in the collection.               |
| `ContainsZugferdInvoice` | Determines whether the collection contains a ZUGFeRD invoice name. |

## Methods

| Method                                                          | Description                                                                                                                                                                                                                                                                                                                  |
| --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GetEnumerator()`                                               | Returns an enumerator that iterates through the collection.                                                                                                                                                                                                                                                                  |
| `Remove(string name)`                                           | Removes the embedded file with the specified name from the collection.                                                                                                                                                                                                                                                       |
| `Rename(string oldName, string newName)`                        | Renames an embedded file in the collection.                                                                                                                                                                                                                                                                                  |
| `Add(string name, byte[] data)`                                 | Adds a named embedded file with the specified name and value to the collection and returns it.                                                                                                                                                                                                                               |
| `ContainsName(string name)`                                     | Determines whether the collection contains the specified name.                                                                                                                                                                                                                                                               |
| `Clear()`                                                       | Removes all embedded files from the collection.                                                                                                                                                                                                                                                                              |
| `AddZugferdInvoice(byte[] data, ZugferdConformanceLevel level)` | Adds an embedded ZUGFeRD-compliant file to the collection and returns it. The `level` parameter specifies the conformance level (defaults to `Basic`). When the level is `XRechnung`, the embedded file name is `xrechnung.xml`; otherwise it is `factur-x.xml`. Only a single XML invoice attachment is allowed in ZUGFeRD. |
| `RemoveZugferdInvoice()`                                        | Removes the embedded ZUGFeRD file with the specified name from the collection.                                                                                                                                                                                                                                               |

## See Also

* [Embedded File Streams](https://www.telerik.com/document-processing-libraries/documentation/libraries/radpdfprocessing/features/embedded-file-streams/embedded-file-streams)
* [ZUGFeRD Invoices](https://www.telerik.com/document-processing-libraries/documentation/libraries/radpdfprocessing/features/embedded-file-streams/zugferd-invoices)
* [PDF Portfolio](https://www.telerik.com/document-processing-libraries/documentation/libraries/radpdfprocessing/features/pdf-portfolio/overview)
