# FileSpecificationProperties

## Content

[**DsPdfJS API v9.1.3**](../README)

***

[DsPdfJS API](../globals) / FileSpecificationProperties

# Type Alias: FileSpecificationProperties

> **FileSpecificationProperties** = `object`

Represents a PDF file specification, defining how external files are referenced or embedded.

This class implements the PDF specification for file references, supporting three primary methods:

1. **URI Reference** - Link to an external resource
   - Use the `uri` property

2. **External File** - Reference to a non-embedded file
   - Use the `fileName` property

3. **Embedded Stream** - File content embedded directly in the PDF
   - Use the `stream` property

**Usage Notes:**
- At least one of the three properties must be specified
- `fileName` and `stream` can be combined to create an embedded file with a specific name

The [FileSpecification](../classes/FileSpecification) class can be used in more complex cases.

## Properties

### desc?

> `optional` **desc**: `string`

The optional description.

***

### fileName?

> `optional` **fileName**: `string`

The file name.

***

### stream?

> `optional` **stream**: [`EmbeddedFileStreamProperties`](EmbeddedFileStreamProperties)

The [EmbeddedFileStreamProperties](EmbeddedFileStreamProperties) defining properties of embedded stream,

***

### uri?

> `optional` **uri**: `string`

The external uri.
