PHPackages                             opendataworld/home\_invoice - 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. opendataworld/home\_invoice

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

opendataworld/home\_invoice
===========================

Получение и обработка данных из PDF файла жировок

01PHP

Since Jul 24Pushed 3y ago1 watchersCompare

[ Source](https://github.com/opendataworld/home_invoice)[ Packagist](https://packagist.org/packages/opendataworld/home_invoice)[ RSS](/packages/opendataworld-home-invoice/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Home Invoice (Жировки)
======================

[](#home-invoice-жировки)

PHP скрипт решает две задачи:

1. Получение данных из PDF файла жировок
2. Отправка полученных данных в базы данных для их дальнейшего отображения и анализа

### Результат показанный в Grafana

[](#результат-показанный-в-grafana)

[![img1](docs/invoice1.png)](docs/invoice1.png)[![img2](docs/invoice2.png)](docs/invoice2.png)[![img2](docs/invoice3.png)](docs/invoice3.png)

Для показа подобных графиков необходимо использовать Grafana + (Influx, Mysql или другие базы данных).
[grafana.com](https://grafana.com)
[influxdata.com](https://www.influxdata.com)

Для формирования графиков, как на скриншотах, можно использовать готовые JSON модели:

1. [grafana.Mysql.json](docs/grafana.Mysql.json)
2. [grafana.InfluxDb2.json](docs/grafana.InfluxDb2.json)

А так же использовать схему [mysql.sql](docs/mysql.sql) для базы данных.

```
composer require opendataworld/home_invoice

```

Примеры
-------

[](#примеры)

### 1. Получение данных

[](#1-получение-данных)

```
$content = file_get_contents('invoice.pdf');

$parser = new \HomeInvoice\Parser($content);
$invoice_text = $parser->getText();
$invoice_data = $parser->getData($invoice_text);

print_r($invoice_data);

Array (
    [month_name] => ноябрь
    [month] => 11
    [year] => 2021
    [payer_name] => XXXXX XXXXXXX XXXXXXXXX
    [address] => г. XXXXX, ул. XXXXX, д. XX, кв. XXX
    [personal_account] => XXXXXXXXX
    [date_created] => 14.12.2021 03:57:03
    [total_accrued] => 57.26
    [total_price] => 57.26
    [services] => Array (
        [0] => Array (
            [group_title] => Основные жилищно-коммунальные услуги
            [rows] => Array (
                [0] => Array (
                    [num] => 1
                    [title] => Техническое обслуживание
                    [unit] => кв. м
                    [volume] => 47.9
                    [rate] => 0.1238
                    [accrued] => 5.93
                    [privileges] => 0.00
                    [recalculation] => 0.00
                    [total] => 5.93
                )
                ...
            )
        )
        [1] => Array (
            [group_title] => Возмещаемые расходы
            [rows] => Array (
                [0] => Array (
                    [num] => 1
                    [title] => Электроэнергия на освещение вспом. помещений иработу оборудования, за исключением лифтов
                    [unit] => кв. м
                    [volume] => 47.9
                    [rate] => 0.0224
                    [accrued] => 1.07
                    [privileges] => 0.00
                    [recalculation] => 0.00
                    [total] => 1.07
                )
                ...
            )
        )
    )
    [services_extra] => Array (
        [0] => Array (
            [title] => Переходящий остаток (задолженность; средства, зачисленные в счет будущих платежей)
            [value] => 0.00
        )
        ...
    )
    [cold_water_count] => 77
    [cold_water_diff] => 1
    [hot_water_count] => 90
    [hot_water_diff] => 7
    [house_square] => 10136.4
    [house_sub_square] => 0
    [house_people] => 373
    [house_people_energy] => 352.83
    [house_people_other] =>
    [house_hot_water_count] => 713.78
    [house_hot_water_cal] => 32.75
    [house_cold_water_count] => 959.19
    [house_energy] => 4243.00
    [house_energy_lift] => 957.00
)
```

### 2. Подготовка данных для сохранения в базу данных

[](#2-подготовка-данных-для-сохранения-в-базу-данных)

```
$transform = new \HomeInvoice\Transform($invoice_data);
$data = $transform->getData();

print_r($data);

Array (
    [simple]         => [...],
    [services]       => [...],
    [services_extra] => [...],
)
```

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity25

Early-stage or recently created project

 Bus Factor1

Top contributor holds 50% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/732e8a691a47ef5c078410bffad7162ad4e80d69e52308fa897a926e1339543f?d=identicon)[opendataworld](/maintainers/opendataworld)

---

Top Contributors

[![n2ref](https://avatars.githubusercontent.com/u/5215787?v=4)](https://github.com/n2ref "n2ref (1 commits)")[![open-stat](https://avatars.githubusercontent.com/u/105597607?v=4)](https://github.com/open-stat "open-stat (1 commits)")

### Embed Badge

![Health badge](/badges/opendataworld-home-invoice/health.svg)

```
[![Health](https://phpackages.com/badges/opendataworld-home-invoice/health.svg)](https://phpackages.com/packages/opendataworld-home-invoice)
```

###  Alternatives

[phpoffice/phpspreadsheet

PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine

13.9k293.5M1.3k](/packages/phpoffice-phpspreadsheet)[spatie/browsershot

Convert a webpage to an image or pdf using headless Chrome

5.2k32.1M102](/packages/spatie-browsershot)[smalot/pdfparser

Pdf parser library. Can read and extract information from pdf file.

2.7k34.5M216](/packages/smalot-pdfparser)[barryvdh/laravel-snappy

Snappy PDF/Image for Laravel

2.8k24.8M48](/packages/barryvdh-laravel-snappy)[openspout/openspout

PHP Library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way

1.1k57.6M131](/packages/openspout-openspout)[keboola/csv

Keboola CSV reader and writer

1451.8M21](/packages/keboola-csv)

PHPackages © 2026

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