---
title: "Smalot\\Pdf Parser - php библиотека чтения PDF файлов для Joomla - WebTolk"
description: "Smalot / PDF Parser - это PHP-библиотека, которая предоставляет различные инструменты для чтения данных из PDF-файлов. На данном сайте она упакована для работы с Joomla 3 и Joomla 4."
url: "https://web-tolk.ru/dev/biblioteki/smalot-pdf-parser-php-biblioteka-dlya-joomla"
date: "2026-06-02T06:56:18+00:00"
language: "ru-RU"
---

# Smalot\Pdf Parser - php библиотека для Joomla

- **Категории:** [Библиотеки](https://web-tolk.ru/dev/biblioteki), [Расширения для Joomla 4 - Joomla 6](https://web-tolk.ru/dev/rasshireniya-dlya-joomla-4)
- **Версия:** 2.1.0
- **Дата:** 17 марта 2022

4392 8750 CTR 50% Lib Free

[Скачать](https://web-tolk.ru/get?element=smalotpdfparser)[Версии](https://web-tolk.ru/dev/biblioteki/smalot-pdf-parser-php-biblioteka-dlya-joomla/versions)[GitHub](https://github.com/smalot/pdfparser)

Smalot / PDF Parser - это PHP-библиотека, которая предоставляет различные инструменты для чтения данных из PDF-файлов. На данном сайте она упакована для работы с Joomla 3 и Joomla 4.

![Smalot\Pdf Parser - php библиотека для Joomla](https://web-tolk.ru/images/swjprojects/projects/38/ru-RU/icon.jpg)

## Описание

## Использование чтения PDF-файлов в Joomla

Пример кода для Joomla 3 и Joomla 4.

```
<?php
defined('_JEXEC') or die('Restricted access');
use \Smalot\PdfParser\Parser;

// Для Joomla 3

JLoader::registerNamespace('Smalot', JPATH_LIBRARIES);

// ИЛИ
// для  Joomla 4
JLoader::registerNamespace('Smalot', JPATH_LIBRARIES. '/Smalot');
$file_name     = 'images/path_to_file.pdf';
$parser        = new Parser();
$pdf           = $parser->parseFile(JPATH_SITE . '/' . $file_name);
$pdf_meta_data = $pdf->getDetails();
```

### Различия в указании namespaces в Joomla 3 и Joomla 4

В Joomla 3 следует указывать путь, после которого начинается namespace.

В Joomla 4 следует указывать путь вплоть до каталога, где начинается namespace.

## Особенности PDF парсера

- Загрузка и парсинг объектов и заголовков
- Извлечение мета-данных из pdf (автор, описание и т.д.)
- Извлечение текста из указанных страниц
- Поддержка сжатых PDF
- Поддержка кодировки Roman на MAC OS
- Обработка шестнадцатеричной и восьмеричной кодировки в текстовых разделах
- Создание пользовательских (своих) конфигураций (см. [CustomConfig.md](https://github.com/smalot/pdfparser/blob/master/doc/CustomConfig.md)).

В настоящее время защищенные документы и извлечение данных формы не поддерживаются.

## Пример кода

```
<?php

// Parse PDF file and build necessary objects.
$parser = new \Smalot\PdfParser\Parser();
$pdf = $parser->parseFile('/path/to/document.pdf');

$text = $pdf->getText();
echo $text;
```

Более подробную информацию можно получить [здесь](https://github.com/smalot/pdfparser/blob/master/doc/Usage.md).

## Использование

Для начала создадим объект парсера pdf и укажем ему файл.

```
$parser = new \Smalot\PdfParser\Parser();

$pdf = $parser->parseFile('document.pdf');
// .. или ...
$pdf = $parser->parseContent(file_get_contents('document.pdf'))
```

### Извлечение текста из PDF на PHP

Получить текстовое содержимое из pdf-файла с помощью PHP можно следующим образом.

```
$text = $pdf->getText();

// or extract the text of a specific page (in this case the first page)
$text = $pdf->getPages()[0]->getText();
```

## Извлечение позиций текста из PDF

Вы можете извлечь матрицу преобразования (индексы 0-3) и положение текстовых объектов по x,y (индексы 4,5).

```
$data = $pdf->getPages()[0]->getDataTm();

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => 0.999429
                    [1] => 0
                    [2] => 0
                    [3] => 1
                    [4] => 201.96
                    [5] => 720.68
                )

            [1] => Document title
        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => 0.999402
                    [1] => 0
                    [2] => 0
                    [3] => 1
                    [4] => 70.8
                    [5] => 673.64
                )

            [1] => Calibri : Lorem ipsum dolor sit amet, consectetur a
        )
)
```

Если включено в конфигурации (`Config::setDataTmFontInfoHasToBeIncluded(true)`) идентификатор шрифта (index 2) и размер шрифта (index 3) будут добавлены в dataTm.

```
// create config
$config = new Smalot\PdfParser\Config();
$config->setDataTmFontInfoHasToBeIncluded(true);

// use config and parse file
$parser = new Smalot\PdfParser\Parser([], $config);
$pdf = $parser->parseFile('document.pdf');

$data = $pdf->getPages()[0]->getDataTm();

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => 0.999429
                    [1] => 0
                    [2] => 0
                    [3] => 1
                    [4] => 201.96
                    [5] => 720.68
                )

            [1] => Document title
            [2] => R7
            [3] => 27.96
        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => 0.999402
                    [1] => 0
                    [2] => 0
                    [3] => 1
                    [4] => 70.8
                    [5] => 673.64
                )

            [1] => Calibri : Lorem ipsum dolor sit amet, consectetur a
            [2] => R9
            [3] => 11.04
        )
)
```

Ширина текста должна быть рассчитана для текста из dataTm, чтобы убедиться, что доступны все значения ширины символов. В следующем примере мы используем данные, приведенные выше.

```
$fonts = $pdf->getFonts();
$font_id = $data[0][2]; //R7
$font = $fonts[$font_id];
$text = $data[0][1];
$width = $font->calculateTextWidth($text, $missing);
```

### Извлечение мета-данных из PDF файла на PHP

С помощью PHP парсера вы можете извлекать мета-данные из PDF-файла. Доступны различные данные, которые могут меняться от файла к файлу.

```
$metaData = $pdf->getDetails();

Array
(
    [Producer] => Adobe Acrobat
    [CreatedOn] => 2022-01-28T16:36:11+00:00
    [Pages] => 35
)
```

### Чтение PDF-файлов в кодировке Base64

Если Вы работаете с PDF файлом, закодированным в [Base64](https://ru.wikipedia.org/wiki/Base64), Вы можете распарсить файл без сохранения его на диск.

Данный пример распарсит PDF файл в кодировке Base64 и получит текстовое содержимое всего файла.

```
<?php
// Parse Base64 encoded PDF string and build necessary objects.
$parser = new \Smalot\PdfParser\Parser();
$pdf = $parser->parseContent(base64_decode($base64PDF));

$text = $pdf->getText();
echo $text;
```

## Joomla

 **Тип расширения:** Библиотека **Версия Joomla:** 4.0

## Что нового

 17.03.2022, 22:16:13

### Smalot / PDF Parser v.2.1.0

Версия от 2 февраля 2022 года

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@id": "https://web-tolk.ru/",
                "name": "Главная"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@id": "https://web-tolk.ru/dev",
                "name": "Расширения Joomla"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "@id": "/dev/biblioteki",
                "name": "Библиотеки"
            }
        },
        {
            "@type": "ListItem",
            "position": 4,
            "item": {
                "name": "SmalotPdf Parser - php библиотека для Joomla"
            }
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://web-tolk.ru/#/schema/Organization/base",
            "name": "WebTolk",
            "url": "https://web-tolk.ru/",
            "logo": {
                "@type": "ImageObject",
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo",
                "url": "images/webtolk-1080p.jpg",
                "contentUrl": "images/webtolk-1080p.jpg",
                "width": 1920,
                "height": 1080
            },
            "image": {
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo"
            },
            "sameAs": [
                "https://github.com/WebTolk",
                "https://github.com/sergeytolkachyov",
                "https://vk.com/web_tolk",
                "https://vk.com/webtolkru",
                "https://tenchat.ru/sergeytolkachyov",
                "https://t.me/sergeytolkachyov",
                "https://t.me/webtolkru"
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://web-tolk.ru/#/schema/WebSite/base",
            "url": "https://web-tolk.ru/",
            "name": "WebTolk",
            "publisher": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            }
        },
        {
            "@type": "WebPage",
            "@id": "https://web-tolk.ru/#/schema/WebPage/base",
            "url": "https://web-tolk.ru/dev/biblioteki/smalot-pdf-parser-php-biblioteka-dlya-joomla",
            "name": "Smalot\\Pdf Parser - php библиотека чтения PDF файлов для Joomla - WebTolk",
            "description": "Smalot / PDF Parser - это PHP-библиотека, которая предоставляет различные инструменты для чтения данных из PDF-файлов. На данном сайте она упакована для работы с Joomla 3 и Joomla 4.",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/SoftwareApplication/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "SoftwareApplication",
            "name": "Smalot\\Pdf Parser - php библиотека для Joomla",
            "url": "https://web-tolk.ru/dev/biblioteki/smalot-pdf-parser-php-biblioteka-dlya-joomla",
            "description": "Smalot / PDF Parser - это PHP-библиотека, которая предоставляет различные инструменты для чтения данных из PDF-файлов. На данном сайте она упакована для работы с Joomla 3 и Joomla 4.",
            "applicationCategory": "Библиотеки",
            "softwareVersion": "2.1.0",
            "downloadUrl": "https://web-tolk.ru/get?element=smalotpdfparser",
            "image": "https://web-tolk.ru/images/swjprojects/projects/38/ru-RU/icon.jpg",
            "operatingSystem": "ANY",
            "interactionStatistic": [
                {
                    "@type": "InteractionCounter",
                    "interactionType": "https://schema.org/DownloadAction",
                    "userInteractionCount": 4392
                },
                {
                    "@type": "InteractionCounter",
                    "interactionType": "https://schema.org/ViewAction",
                    "userInteractionCount": 8751
                }
            ],
            "mainEntityOfPage": {
                "@type": "WebPage",
                "url": "https://web-tolk.ru/dev/biblioteki/smalot-pdf-parser-php-biblioteka-dlya-joomla"
            },
            "softwareRequirements": "Joomla",
            "applicationSubCategory": "Библиотеки, Расширения для Joomla 4 - Joomla 6",
            "isAccessibleForFree": true
        }
    ]
}
```
