# PdfReaderLegacy
## Description
BitPdfReaderLegacy is a simple pdf renderer utilizing the pdfjs library to bring pdf reading feature into Blazor world.
## Parameters
| Name | Type | Default Value | Description |
| :--- | :--- | :------------ | :---------- |
| CanvasClass | `string?` | null | The CSS class of the canvas element(s). |
| CanvasStyle | `string?` | null | The CSS style of the canvas element(s). |
| Config | `BitPdfReaderLegacyConfig` | | The configuration of the pdf reader. |
| Horizontal | `bool` | false | Renders the pages horizontally. |
| InitialPageNumber | `int` | 1 | The page number to render initially. |
| OnPdfPageRendered | `EventCallback` | | The callback for when the pdf page is done rendering. |
| OnPdfLoaded | `EventCallback` | | The callback for when the pdf document is done loading and processing. |
| RenderAllPages | `bool` | false | Whether render all pages at start. |
| AriaLabel | `string?` | null | Gets or sets the accessible label for the component, used by assistive technologies. |
| Class | `string?` | null | Gets or sets the CSS class name(s) to apply to the rendered element. |
| Dir | `BitDir?` | null | Gets or sets the text directionality for the component's content. |
| Disabled | `bool` | false | Gets or sets a value indicating whether the component is disabled and cannot respond to user interaction. |
| ForceAnimation | `bool` | false | Gets or sets a value indicating whether the component's animations play at their full duration even when reduced motion is requested. |
| HtmlAttributes | `Dictionary<string, object>` | new Dictionary<string, object>() | Captures additional HTML attributes to be applied to the rendered element, in addition to the component's parameters. An attribute written on the component wins over an entry of the same name. |
| Id | `string?` | null | Gets or sets the unique identifier for the component's root element. |
| Style | `string?` | null | Gets or sets the CSS style string to apply to the rendered element. |
| TabIndex | `string?` | null | Gets or sets the tab order index for the component when navigating with the keyboard. |
| Visibility | `BitVisibility` | BitVisibility.Visible | Gets or sets the visibility state (visible, hidden, or collapsed) of the component. |
## Public Members
| Name | Type | Default Value | Description |
| :--- | :--- | :------------ | :---------- |
| UniqueId | `Guid` | Guid.NewGuid() | Gets the readonly unique identifier for the component's root element, assigned when the component instance is constructed. |
| RootElement | `ElementReference` | | Gets the reference to the root HTML element associated with this component. |
## Enums
### BitVisibility Enum
| Name | Value | Description |
| :--- | :--- | :---------- |
| Visible | 0 | The content of the component is visible. |
| Hidden | 1 | The content of the component is hidden, but the space it takes on the page remains (visibility:hidden). |
| Collapsed | 2 | The component is hidden (display:none). |
### BitDir Enum
| Name | Value | Description |
| :--- | :--- | :---------- |
| Ltr | 0 | Ltr (left to right) is to be used for languages that are written from the left to the right (like English). |
| Rtl | 1 | Rtl (right to left) is to be used for languages that are written from the right to the left (like Arabic). |
| Auto | 2 | Auto lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then applies that directionality to the whole element. |
## Sub Classes
### BitPdfReaderLegacyConfig Properties
| Name | Type | Default Value | Description |
| :--- | :--- | :------------ | :---------- |
| Id | `string` | Guid.NewGuid().ToString() | The id of the pdf reader instance and its canvas element(s). |
| Url | `string` | | The URL of the pdf file. |
| Scale | `decimal` | 1 | The scale in which the pdf document gets rendered on the page. |
| AutoScale | `bool` | true | Automatically scales the pdf based on the device pixel-ratio. |
## Examples
\n**Basic**:
```razor
```
```csharp
private readonly BitPdfReaderLegacyConfig basicConfig = new() { Url = "url-to-the-pdf-file.pdf" };
```
\n**RenderAllPages**:
```razor
```
```csharp
private readonly BitPdfReaderLegacyConfig renderAllConfig = new() { Url = "url-to-the-pdf-file.pdf" };
```
\n**Public API**:
```razor
First
Prev
Next
Last
Zoom -
Zoom +
```
```csharp
private double scale = 1;
private BitPdfReaderLegacy publicApiPdfReaderRef = default!;
private BitPdfReaderLegacyConfig publicApiConfig = new() { Url = "url-to-the-pdf-file.pdf" };
private async Task ZoomIn()
{
scale += 0.25;
publicApiConfig.Scale = scale;
await publicApiPdfReaderRef.Refresh();
}
private async Task ZoomOut()
{
if (scale > 0.25)
{
scale -= 0.25;
}
publicApiConfig.Scale = scale;
await publicApiPdfReaderRef.Refresh();
}
```