PDF Viewer
Preview PDF documents either saved in the database or in the form of your resource.
Author:
João Paulo Leite Nascimento
Documentation
- Features & Screenshots
- Compatibility
- Installation
- Usage in form field
- Usage in infolist entry
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License
FilamentPHP package to show pdf documents with records saved in the database or show documents without a database in the form of your resource.

#Features & Screenshots
- Form Field: Show a pdf document viewer in a form field.
- Infolist Entry: Show a pdf document viewer in a infolist entry.
- Support: Laravel 11 and Filament 3.x
#Compatibility
| Package Version | Filament Version |
|---|---|
| 1.x | 3.x |
| 2.x | 4.x |
| 3.x | 5.x |
#Installation
You can install the package via composer:
composer require joaopaulolndev/filament-pdf-viewer:^1.0
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-pdf-viewer-views"
#Usage in form field
use Joaopaulolndev\FilamentPdfViewer\Forms\Components\PdfViewerField;
public static function form(Form $form): Form
{
return $form
->schema([
PdfViewerField::make('file')
->label('View the PDF')
->minHeight('40svh')
]);
}
#Usage in infolist entry
use Joaopaulolndev\FilamentPdfViewer\Infolists\Components\PdfViewerEntry;
public static function infolist(Infolist $infolist): Infolist
{
return $infolist
->schema([
PdfViewerEntry::make('file')
->label('View the PDF')
->minHeight('40svh')
]);
}
Optionally, you can use anothe methods to set the pdf viewer
use Joaopaulolndev\FilamentPdfViewer\Infolists\Components\PdfViewerEntry;
public static function infolist(Infolist $infolist): Infolist
{
return $infolist
->schema([
PdfViewerEntry::make('file')
->label('View the PDF')
->minHeight('40svh')
->fileUrl(Storage::url('dummy.pdf')) // Set the file url if you are getting a pdf without database
->columnSpanFull()
]);
}
Optionally, you can use section to set the pdf viewer
use Joaopaulolndev\FilamentPdfViewer\Infolists\Components\PdfViewerEntry;
public static function infolist(Infolist $infolist): Infolist
{
return $infolist
->schema([
\Filament\Infolists\Components\Section::make('PDF Viewer')
->description('Prevent the PDF from being downloaded')
->collapsible()
->schema([
PdfViewerEntry::make('file')
->label('View the PDF')
->minHeight('40svh')
->fileUrl(Storage::url('dummy.pdf')) // Set the file url if you are getting a pdf without database
->columnSpanFull()
]);
]);
}
#Testing
composer test
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
The author
João Paulo is a self-taught full-stack developer who loves PHP, Laravel and Filament. He is a Brazilian developer that loves to contribute to open-source projects.
From the same author
Edit Profile
A package to edit and delete profile easily to use, simple and fast.
Author:
João Paulo Leite Nascimento
Edit Env
Edit your environment file directly from the Filament panel.
Author:
João Paulo Leite Nascimento
World Clock
A beautiful card widget to display world clocks by timezone.
Author:
João Paulo Leite Nascimento
General Settings
Create really fast and easily general settings for your app.
Author:
João Paulo Leite Nascimento
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle