In the modern web development landscape, embedding PDFs in web applications is a frequent requirement for presenting documents, reports, and manuals. For developers working with AngularJS, incorporating PDF functionality becomes seamless with the Angular PDF Viewer directive. Version 0.2.0 of this directive offers an easy-to-integrate solution that leverages AngularJS and PDF.js to render PDF documents effectively within your Angular applications.

Exploring the capabilities of Angular PDF, developers can enhance user experiences by integrating features like Angular UI checkbox, as demonstrated in this insightful article.

Key Features and Dependencies

The Angular PDF Viewer relies on two primary dependencies:

  • AngularJS: The well-known framework that facilitates the creation of dynamic, single-page web applications;
  • PDF.js: An open-source JavaScript library that parses and renders PDF files in web browsers.

Getting Started   

A person coding with DevOps and CSS icons around on a blue background

To integrate the PDF Viewer into your AngularJS project, follow these simple steps:

  • Installation: Use Bower to install the Angular PDF Viewer package with the following command:

bower install angular-pdf-viewer

  • Including Necessary Scripts: Add the paths to the Angular PDF Viewer library, AngularJS, and PDF.js in your project’s HTML file;
  • Module Dependency: Incorporate the Angular PDF Viewer library as a dependency in your Angular application module.

Utilizing the Directive

The directive provided by Angular PDF Viewer allows you to easily embed PDF files in your web pages. You can customize the behavior of the PDF Viewer using attributes such as URL, scale, and delegate-handle.

Directive Attributes 

  • URL: Specifies the path to the PDF file to be displayed;
  • Scale: Sets the zoom level for the PDF;
  • Delegate-Handle: An identifier used for controlling specific instances of the PDF viewer.

Advanced Control with pdfDelegate Service

For applications requiring multiple instances of the PDF Viewer or more sophisticated control, the pdfDelegate service is invaluable. By injecting this service into your controller, you gain the ability to manipulate individual PDF Viewer instances programmatically.

Available Methods

  • Navigation: prev(), next();
  • Zoom: zoomIn(), zoomOut();
  • Orientation: rotate();
  • Document Information: getPageCount(), getCurrentPage(), goToPage(pageNumber);
  • Content Management: load().

Changing the PDF File

To switch the PDF being displayed, simply call the load() method of the pdfDelegate service with the new PDF file’s path.

Setting Up Your Development Environment

To get started with development:

  • Run npm install && bower install to install all necessary dependencies;
  • Execute gulp dev to initiate a local development server. Your example project will be accessible at http://localhost:3000/src.

Customizing the Toolbar

A programmer in glasses focuses on coding on a green laptop with code in the background

The Angular PDF Viewer comes with a default toolbar that can be toggled using the show-toolbar attribute. However, the directive’s design and the pdfDelegate service’s control capabilities make it straightforward to craft a custom toolbar or integrate the toolbar into a different scope of your application for a tailored user experience.

Conclusion

Integrating PDF viewing capabilities into your AngularJS applications has never been easier, thanks to the Angular PDF Viewer. With its flexible directive, powerful control service, and customization options, it’s an ideal choice for developers looking to enhance their web applications with dynamic PDF functionality.