PHPackages                             scrapify-dev/pdf-tools - 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. scrapify-dev/pdf-tools

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

scrapify-dev/pdf-tools
======================

A Laravel package to merge PDF files using Python

v1.0.0(10mo ago)01PHPPHP ^8.0

Since Aug 14Pushed 10mo agoCompare

[ Source](https://github.com/HenaAndhariya17/scrapify_package)[ Packagist](https://packagist.org/packages/scrapify-dev/pdf-tools)[ RSS](/packages/scrapify-dev-pdf-tools/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (7)Versions (2)Used By (0)

📄 Scrapify PDF Tools Library

A Laravel package for **all-in-one PDF processing** — merge, split, compress, convert, OCR, watermark, protect, and more. Includes **20+ tools** for complete document control.

---

📦 Installation
--------------

[](#-installation)

```
composer require scrapify-dev/image-tools
```

---

⚙️ Requirements
---------------

[](#️-requirements)

- **PHP**: `^8.0`
- **Laravel**: `^9.0 | ^10.0 | ^11.0 | ^12.0`
- **Dependencies:**

    - `php`: `^8.0`
    - `illuminate/support`: `^9.0|^10.0|^11.0|^12.0`
    - `dompdf/dompdf`: `^3.1`
    - `phpoffice/phpword`: `^1.4`
    - `phpoffice/phpspreadsheet`: `^4.4`
    - `smalot/pdfparser`: `2.12.0`
    - `setasign/fpdi`: `^2.3`
    - `tecnickcom/tcpdf`: `^6.7`
    - `spatie/pdf-to-image`: `^2.3`
    - `symfony/process`: `^6.0|^7.0`

---

📑 Tools Overview &amp; Usage Examples
-------------------------------------

[](#-tools-overview--usage-examples)

### 1️⃣ Merge PDF

[](#1️⃣-merge-pdf)

```
use Scrapify\PdfTools\PdfMerge;

$pdfMerge = new PdfMerge();
$pdfMerge->merge(
    [public_path('file1.pdf'), public_path('file2.pdf')],
    public_path('merged.pdf')
);
```

### 2️⃣ Split PDF

[](#2️⃣-split-pdf)

```
use Scrapify\PdfTools\PdfSplit;

$pdfSplit = new PdfSplit();
$pdfSplit->split(public_path('file.pdf'), storage_path('app/public/splits'));
```

### 3️⃣ Compress PDF

[](#3️⃣-compress-pdf)

```
use Scrapify\PdfTools\PdfCompressor;

$compressor = new PdfCompressor();
$compressor->compress(public_path('big.pdf'), public_path('small.pdf'));
```

### 4️⃣ Office to PDF

[](#4️⃣-office-to-pdf)

```
use Scrapify\PdfTools\OfficeToPdf;

$converter = new OfficeToPdf();
$converter->convert(public_path('document.docx'), public_path('output.pdf'));
```

### 5️⃣ PDF OCR

[](#5️⃣-pdf-ocr)

```
use Scrapify\PdfTools\PdfOcr;

$ocr = new PdfOcr();
$text = $ocr->extractText(public_path('scanned.pdf'));
```

### 6️⃣ Rotate PDF

[](#6️⃣-rotate-pdf)

```
use Scrapify\PdfTools\PdfRotate;

$rotator = new PdfRotate();
$rotator->rotate(public_path('file.pdf'), 90, public_path('rotated.pdf'));
```

### 7️⃣ PDF to JPG

[](#7️⃣-pdf-to-jpg)

```
use Scrapify\PdfTools\PdfToImage;

$pdfToImage = new PdfToImage(public_path('file.pdf'));
$pdfToImage->saveImage(public_path('images/page_%d.jpg'));
```

### 8️⃣ Image to PDF

[](#8️⃣-image-to-pdf)

```
use Scrapify\PdfTools\ImageToPdf;

$imageToPdf = new ImageToPdf();
$imageToPdf->convert([public_path('img1.png'), public_path('img2.jpg')], public_path('output.pdf'));
```

### 9️⃣ Unlock PDF

[](#9️⃣-unlock-pdf)

```
use Scrapify\PdfTools\PdfUnlock;

$unlocker = new PdfUnlock();
$unlocker->unlock(public_path('locked.pdf'), 'password', public_path('unlocked.pdf'));
```

### 🔟 Watermark PDF

[](#-watermark-pdf)

```
use Scrapify\PdfTools\PdfWatermark;

$watermark = new PdfWatermark();
$watermark->apply(public_path('file.pdf'), public_path('logo.png'), public_path('watermarked.pdf'));
```

### 1️⃣1️⃣ Page Number PDF

[](#1️⃣1️⃣-page-number-pdf)

```
use Scrapify\PdfTools\PdfPageNumber;

$pageNumber = new PdfPageNumber();
$pageNumber->addNumbers(public_path('file.pdf'), public_path('numbered.pdf'));
```

### 1️⃣2️⃣ Repair PDF

[](#1️⃣2️⃣-repair-pdf)

```
use Scrapify\PdfTools\PdfRepair;

$repair = new PdfRepair();
$repair->repair(public_path('corrupt.pdf'), public_path('fixed.pdf'));
```

### 1️⃣3️⃣ PDF to PDF/A

[](#1️⃣3️⃣-pdf-to-pdfa)

```
use Scrapify\PdfTools\PdfToPdfA;

$pdfToPdfA = new PdfToPdfA();
$pdfToPdfA->convert(public_path('file.pdf'), public_path('archival.pdf'));
```

### 1️⃣4️⃣ Protect PDF

[](#1️⃣4️⃣-protect-pdf)

```
use Scrapify\PdfTools\PdfProtect;

$protect = new PdfProtect();
$protect->protect(public_path('file.pdf'), 'ownerpass', 'userpass', public_path('protected.pdf'));
```

### 1️⃣5️⃣ Validate PDF/A

[](#1️⃣5️⃣-validate-pdfa)

```
use Scrapify\PdfTools\PdfValidatePdfA;

$validator = new PdfValidatePdfA();
$isValid = $validator->validate(public_path('archival.pdf'));
```

### 1️⃣6️⃣ Extract PDF

[](#1️⃣6️⃣-extract-pdf)

```
use Scrapify\PdfTools\PdfExtract;

$extract = new PdfExtract();
$extract->extract(public_path('file.pdf'), [1, 3, 5], public_path('extracted.pdf'));
```

### 1️⃣7️⃣ Organize PDF

[](#1️⃣7️⃣-organize-pdf)

```
use Scrapify\PdfTools\PdfOrganize;

$organize = new PdfOrganize();
$organize->reorder(public_path('file.pdf'), [3, 1, 2], public_path('reordered.pdf'));
```

### 1️⃣8️⃣ HTML to PDF

[](#1️⃣8️⃣-html-to-pdf)

```
use Scrapify\PdfTools\HtmlToPdf;

$htmlToPdf = new HtmlToPdf();
$htmlToPdf->convert('Hello', public_path('output.pdf'));
```

### 1️⃣9️⃣ Edit PDF

[](#1️⃣9️⃣-edit-pdf)

```
use Scrapify\PdfTools\PdfEdit;

$editor = new PdfEdit();
$editor->addText(public_path('file.pdf'), 'Confidential', public_path('edited.pdf'));
```

### 2️⃣0️⃣ PDF to Word

[](#2️⃣0️⃣-pdf-to-word)

```
use Scrapify\PdfTools\PdfToWord;

$pdfToWord = new PdfToWord();
$pdfToWord->convert(public_path('file.pdf'), public_path('output.docx'));
```

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance53

Moderate activity, may be stable

Popularity1

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

Unknown

Total

1

Last Release

324d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/137869374?v=4)[HenaAndhariya17](/maintainers/HenaAndhariya17)[@HenaAndhariya17](https://github.com/HenaAndhariya17)

---

Top Contributors

[![HenaAndhariya17](https://avatars.githubusercontent.com/u/137869374?v=4)](https://github.com/HenaAndhariya17 "HenaAndhariya17 (1 commits)")

### Embed Badge

![Health badge](/badges/scrapify-dev-pdf-tools/health.svg)

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

###  Alternatives

[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

751291.4k43](/packages/civicrm-civicrm-core)[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[kimai/kimai

Kimai - Time Tracking

4.8k9.0k1](/packages/kimai-kimai)[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.2k95.4M306](/packages/laravel-horizon)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.1k17.8k](/packages/prestashop-prestashop)

PHPackages © 2026

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