PHPackages                             atik/atik-pdf - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. atik/atik-pdf

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

atik/atik-pdf
=============

Enterprise-grade hybrid Laravel PDF package with ultra-fast large-table PDF generation and full Bangla font support.

v3.0.0(1mo ago)03MITPHPPHP ^8.0

Since May 19Pushed 1mo agoCompare

[ Source](https://github.com/atikhasan2090/atik-pdf)[ Packagist](https://packagist.org/packages/atik/atik-pdf)[ RSS](/packages/atik-atik-pdf/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (8)Versions (4)Used By (0)

Atik PDF
========

[](#atik-pdf)

Enterprise-grade hybrid Laravel document generation package supporting **PDF**, **Excel**, and **CSV** output with ultra-fast large-table generation and full Bangla font support.

Overview
--------

[](#overview)

`atik-pdf` uses a hybrid engine architecture to solve the classic memory-exhaustion problem when generating huge documents in PHP:

FormatEngineBest For**PDF**`mPDF`, `Browsershot`, `FastAPI + ReportLab`Styled HTML, invoices, reports, massive tables**Excel**`PhpSpreadsheet`.xlsx exports with styled headers and auto-sized columns**CSV**Native PHPLightweight tabular data, data migrationsFeatures
--------

[](#features)

- **Laravel 8+ Compatible**: Works with Laravel 8, 10, 11, and 12.
- **Hybrid PDF Architecture**: Best of both worlds (PHP for styles, Python for massive data).
- **Automatic Engine Switching**: `AtikPdf::auto()` handles the PDF engine switching for you.
- **Excel &amp; CSV Support**: Export tabular data to `.xlsx` or `.csv` with the same fluent API.
- **Queue &amp; Async Support**: Generate massive documents in the background.
- **Bangla Font Support**: Built-in support for Noto Sans Bengali and SolaimanLipi.

Installation
------------

[](#installation)

### 1. Install the Laravel Package

[](#1-install-the-laravel-package)

```
composer require atik/atik-pdf
```

Publish the configuration and (optionally) the Python service:

```
php artisan vendor:publish --tag=atik-pdf-config
php artisan vendor:publish --tag=atik-pdf-python-service
```

### 2. Run the Python Microservice (PDF only)

[](#2-run-the-python-microservice-pdf-only)

You can run the Python microservice locally or via Docker.

**Via Docker:**

```
cd python-service
docker build -t atik-pdf-python .
docker run -d -p 8000:8000 atik-pdf-python
```

**Via Uvicorn (Local):**

```
cd python-service
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000
```

*Don't forget to put your Bangla `.ttf` fonts in `python-service/fonts/`!*

Usage Examples
--------------

[](#usage-examples)

### PDF — Standard View (mPDF)

[](#pdf--standard-view-mpdf)

Perfect for invoices or certificates.

```
use Atik\Pdf\Facades\AtikPdf;

return AtikPdf::view('invoices.standard', ['invoice' => $data])
    ->download('invoice_001.pdf');
```

### PDF — Automatic Engine (Table)

[](#pdf--automatic-engine-table)

Automatically switches to Python if rows &gt; 5000.

```
$columns = ['ID', 'Name', 'Amount'];
$rows = [
    [1, 'Atik', '500'],
    // ... 10,000 more rows
];

return AtikPdf::auto($rows, $columns, 'Monthly Report')
    ->stream();
```

### PDF — Async / Background Generation

[](#pdf--async--background-generation)

For 50k+ rows, queue it!

```
AtikPdf::async($massiveRowArray, $columns, 'Massive Dataset')
    ->webhook('https://myapp.com/api/webhooks/pdf-ready')
    ->queue('reports/massive_report_august.pdf');

return response()->json(['message' => 'PDF is generating in the background!']);
```

### Excel Export

[](#excel-export)

```
$columns = ['ID', 'Product', 'Price', 'Stock'];
$rows = [
    [1, 'Widget A', 19.99, 100],
    [2, 'Widget B', 29.99, 50],
];

return AtikPdf::excel()
    ->table($rows, $columns, 'Inventory Report')
    ->download('inventory');
```

### CSV Export

[](#csv-export)

```
return AtikPdf::csv()
    ->table($rows, $columns)
    ->stream('export');
```

### Async Excel/CSV

[](#async-excelcsv)

```
AtikPdf::excel()
    ->async($rows, $columns, 'Large Dataset')
    ->queue('exports/dataset.xlsx');
```

Configuration
-------------

[](#configuration)

See `config/atik-pdf.php` to configure:

- `auto_threshold`: Number of rows to trigger the Python engine.
- `python_engine.api_url`: URL of your deployed FastAPI service.
- `excel_engine.author`: Author metadata for .xlsx files.
- `csv_engine.delimiter`, `csv_engine.include_bom`: CSV formatting options.
- Queues, disks, and mPDF margins.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance94

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~17 days

Total

3

Last Release

32d ago

Major Versions

v1.0.0 → v2.0.02026-06-21

v2.0.0 → v3.0.02026-06-22

PHP version history (2 changes)v1.0.0PHP ^8.2

v3.0.0PHP ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/46890362?v=4)[Atik Hasan](/maintainers/atikhasan2090)[@atikhasan2090](https://github.com/atikhasan2090)

---

Top Contributors

[![atikhasan2090](https://avatars.githubusercontent.com/u/46890362?v=4)](https://github.com/atikhasan2090 "atikhasan2090 (6 commits)")

### Embed Badge

![Health badge](/badges/atik-atik-pdf/health.svg)

```
[![Health](https://phpackages.com/badges/atik-atik-pdf/health.svg)](https://phpackages.com/packages/atik-atik-pdf)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.2k](/packages/craftcms-cms)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M246](/packages/laravel-ai)[illuminate/filesystem

The Illuminate Filesystem package.

15265.2M3.3k](/packages/illuminate-filesystem)[moonshine/moonshine

Laravel administration panel

1.3k253.1k86](/packages/moonshine-moonshine)[tallstackui/tallstackui

TallStackUI is a powerful suite of Blade components that elevate your workflow of Livewire applications.

728176.2k14](/packages/tallstackui-tallstackui)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
