Overview of Angular PDF Viewer Component
19 Jan 20243 minutes to read
The angular PDF Viewer
component is a lightweight and modular component for viewing and printing PDF files. It provides the best viewing experience available with core interactions such as zooming, scrolling, text searching, text selection, and text copying. The thumbnail, bookmark, hyperlink and table of contents support provides easy navigation within and outside the PDF files.
Setup
Create a Angular Application
You can use Angular CLI to setup your Angular applications. To install the Angular CLI, use the following command.
npm install -g @angular/cli
Create a new Angular application using the following Angular CLI command.
ng new my-app
cd my-app
Adding Syncfusion PDF Viewer package
All Syncfusion angular packages are published in the npmjs.com registry. To install the angular PDF Viewer package, use the following command.
ng add @syncfusion/ej2-angular-pdfviewer
The above command does the below configuration to your Angular app.
- Adds
@syncfusion/ej2-angular-pdfviewer package
and its peer dependencies to your package.json file. - Imports the
PdfViewerModule
in your application module app.module.ts. - Registers the Syncfusion UI default theme (material) in the
angular.json
file.
This makes it easy to add the Syncfusion Angular PDF Viewer module to your project and start using it in your application.
Adding CSS references for PDF Viewer
Add CSS references needed for a PDF Viewer in src/styles.css
from the ../node_modules/@syncfusion
package folder.
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@import '../node_modules/@syncfusion/ej2-buttons/styles/material.css';
@import '../node_modules/@syncfusion/ej2-inputs/styles/material.css';
@import '../node_modules/@syncfusion/ej2-popups/styles/material.css';
@import '../node_modules/@syncfusion/ej2-lists/styles/material.css';
@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';
@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/material.css';
@import "../node_modules/@syncfusion/ej2-angular-pdfviewer/styles/material.css";
Add PDF Viewer component
In src/app/app.component.ts
`, use
import { Component, OnInit } from '@angular/core';
import { LinkAnnotationService, BookmarkViewService, MagnificationService,
ThumbnailViewService, ToolbarService, NavigationService,
AnnotationService, TextSearchService, TextSelectionService,
PrintService, FormDesignerService, FormFieldsService
} from '@syncfusion/ej2-angular-pdfviewer';
@Component({
selector: 'app-root',
// specifies the template string for the PDF Viewer component
template: `<div class="content-wrapper">
<ejs-pdfviewer id="pdfViewer"
[documentPath]='document'
[resourceUrl]='resource'
style="height:640px;display:block">
</ejs-pdfviewer>
</div>`,
providers: [ LinkAnnotationService, BookmarkViewService, MagnificationService,
ThumbnailViewService, ToolbarService, NavigationService,
TextSearchService, TextSelectionService, PrintService,
AnnotationService, FormDesignerService, FormFieldsService]
})
export class AppComponent implements OnInit {
public document: string = 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';
public resource: string = "https://cdn.syncfusion.com/ej2/23.1.43/dist/ej2-pdfviewer-lib";
ngOnInit(): void {
}
}
Key Features
*View PDF Document
- Open and display both the normal and the protected PDF files with AES and RC4 encryption.
*Annotations
- Annotate with text markup, shapes, stamps, ink, and sticky notes.Form filling and form designing can be done.
*Form Fields
- Form filling and form designing can be done.
*Signature
- Hand-written and digital signatures are allowed.
*Toolbar
- Built-in-toolbar and custom toolbars to perform user interaction of PDF Viewer functionalities.
*Navigation
- Easy navigation with the help of bookmarks, thumbnails, hyperlinks, and table of contents.
*Magnification
- Fit to page, fit to width, and automatic (fits to the visible area).
*Search
- Search a text easily across the PDF document.
*Core Interactions
- Allows scrolling, zooming, panning, selection, and page navigation.
*Print
- Print the entire document or a specific page directly from the browser.
*Globalization
- Provides inherent support to localize the UI.