PHPackages                             zafarjonovich/application-filler - 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. [Image &amp; Media](/categories/media)
4. /
5. zafarjonovich/application-filler

ActivePackage[Image &amp; Media](/categories/media)

zafarjonovich/application-filler
================================

Image application filler

0.0.0.5(1y ago)24.2k↓12.5%PHPPHP &gt;=5.6

Since Sep 25Pushed 1y ago1 watchersCompare

[ Source](https://github.com/zafarjonovich/application-filler)[ Packagist](https://packagist.org/packages/zafarjonovich/application-filler)[ RSS](/packages/zafarjonovich-application-filler/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (6)Used By (0)

Application filler
==================

[](#application-filler)

Assalomu aleykum, this package helps to you fill applications wia php

For example
-----------

[](#for-example)

You have application likely this

[![Application form](https://camo.githubusercontent.com/c594bfec1da579b7a08e21f771eefe7b2269cd68895a8e951e297e6f44a68762/68747470733a2f2f73657276696e672e70686f746f732e70686f746f626f782e636f6d2f3734393830303634633733363234623061643363323966393338623461633738616262336635323335663232623564333061383639326331306630333966663633613432346430632e6a7067)](https://camo.githubusercontent.com/c594bfec1da579b7a08e21f771eefe7b2269cd68895a8e951e297e6f44a68762/68747470733a2f2f73657276696e672e70686f746f732e70686f746f626f782e636f6d2f3734393830303634633733363234623061643363323966393338623461633738616262336635323335663232623564333061383639326331306630333966663633613432346430632e6a7067)

You must fill it programmatically

- Always the coordinate head is at the top left and the coordinates are measured in pixels
- Each text is grouped together and the group consists of rows that can be written
- Each group can be given different fonts, and it merges into a font object. The font object covers the absolute location of the font and the size of the text
- Each row consists of lines, and the lines consist of starting and ending points
- Each point is equal to the number of vertical and horizontal pixels counted from the origin

I suggest the following [site](https://yangcha.github.io/iview/iview.html) to calculate the coordinates

```
require_once 'vendor/autoload.php';

use zafarjonovich\ApplicationFiller\element\Font;
use zafarjonovich\ApplicationFiller\element\Group;
use zafarjonovich\ApplicationFiller\element\Groups;
use zafarjonovich\ApplicationFiller\element\Line;
use zafarjonovich\ApplicationFiller\element\Lines;
use zafarjonovich\ApplicationFiller\element\Point;
use zafarjonovich\ApplicationFiller\element\Text;
use zafarjonovich\ApplicationFiller\ApplicationFiller;

try {
    $groups = new Groups();

    $groups->add(
        new Group(
            new Text('x',new Font('ubuntu.ttf',18)),
            (new Lines())
                ->add(
                    new Line(new Point(493,127),new Point(510,127))
                )
        )
    );

    $groups->add(
        new Group(
            new Text('English, Russian, Uzbek',new Font('ubuntu.ttf',16)),
            (new Lines())
                ->add(
                    new Line(new Point(280,196),new Point(640,196))
                )
        )
    );

    $groups->add(
        new Group(
            new Text('x',new Font('ubuntu.ttf',18)),
            (new Lines())
                ->add(
                    new Line(new Point(548,265),new Point(650,265))
                )
        )
    );

    $groups->add(
        new Group(
            new Text('x',new Font('ubuntu.ttf',18)),
            (new Lines())
                ->add(
                    new Line(new Point(548,265),new Point(650,265))
                )
        )
    );

    $groups->add(
        new Group(
            new Text('x',new Font('ubuntu.ttf',18)),
            (new Lines())
                ->add(
                    new Line(new Point(548,335),new Point(650,335))
                )
        )
    );

    $groups->add(
        new Group(
            new Text('x',new Font('ubuntu.ttf',18)),
            (new Lines())
                ->add(
                    new Line(new Point(490,402),new Point(510,402))
                )
        )
    );

    $largeText = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.";

    $groups->add(
        new Group(
            new Text($largeText,new Font('ubuntu.ttf',12)),
            (new Lines())
                ->add(
                    new Line(new Point(120,558),new Point(650,558))
                )
                ->add(
                    new Line(new Point(120,608),new Point(650,608))
                )
                ->add(
                    new Line(new Point(120,665),new Point(650,665))
                )
                ->add(
                    new Line(new Point(120,715),new Point(650,715))
                )
                ->add(
                    new Line(new Point(120,770),new Point(650,770))
                )
                ->add(
                    new Line(new Point(120,820),new Point(650,820))
                )
        )
    );

    $filler = new ApplicationFiller('application-form.jpg',$groups);

    $filler->draw();

    $filler->image->save('temp.jpg');

} catch (Exception $exception) {
    echo $exception->getMessage();
}
```

Result:

[![Result application form](https://camo.githubusercontent.com/b3265b5583b4f8eb614b26027e3d5bf02c350592d1e9c29e230fe530b708edcf/68747470733a2f2f73657276696e672e70686f746f732e70686f746f626f782e636f6d2f3238333039363732383462393934313235396431363563306131633130633332663135663236366633626439323634313038353838343234663235646132353133636464636132382e6a7067)](https://camo.githubusercontent.com/b3265b5583b4f8eb614b26027e3d5bf02c350592d1e9c29e230fe530b708edcf/68747470733a2f2f73657276696e672e70686f746f732e70686f746f626f782e636f6d2f3238333039363732383462393934313235396431363563306131633130633332663135663236366633626439323634313038353838343234663235646132353133636464636132382e6a7067)

You can change the text alignment

```
$text = new Text("Hello world !",new Font('ubuntu.ttf',12));
$text->setAlignment(Text::ALIGNMENT_MODE_CENTER);

$groups->add(
    new Group(
        $text,
        (new Lines())
            ->add(
                new Line(new Point(490,402),new Point(510,402))
            )
    )
);
```

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 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 ~266 days

Total

5

Last Release

631d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/47502872?v=4)[Asadbek](/maintainers/Zafarjonovich)[@zafarjonovich](https://github.com/zafarjonovich)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/zafarjonovich-application-filler/health.svg)

```
[![Health](https://phpackages.com/badges/zafarjonovich-application-filler/health.svg)](https://phpackages.com/packages/zafarjonovich-application-filler)
```

###  Alternatives

[league/glide

Wonderfully easy on-demand image manipulation library with an HTTP based API.

2.6k51.2M116](/packages/league-glide)[jenssegers/imagehash

Perceptual image hashing for PHP

2.1k2.2M5](/packages/jenssegers-imagehash)[intervention/image-laravel

Laravel Integration of Intervention Image

1536.5M102](/packages/intervention-image-laravel)[bkwld/croppa

Image thumbnail creation through specially formatted URLs for Laravel

510496.0k23](/packages/bkwld-croppa)[lasserafn/php-initial-avatar-generator

A package to generate avatars with initials for PHP

4374.2M13](/packages/lasserafn-php-initial-avatar-generator)[rtippin/messenger

Laravel messenger suite.

45035.8k4](/packages/rtippin-messenger)

PHPackages © 2026

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