# 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. | | 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. | | Id | `string?` | null | Gets or sets the unique identifier for the component's root element. | | IsEnabled | `bool` | true | Gets or sets a value indicating whether the component is enabled and can respond to user interaction. | | 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(); } ```