PHPackages                             pwsdotru/unoserver-client - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. pwsdotru/unoserver-client

ActiveLibrary[HTTP &amp; Networking](/categories/http)

pwsdotru/unoserver-client
=========================

PHP client for Unoserver

1.0.0(1mo ago)03GPL-3.0-or-laterPHPPHP &gt;=7.4 || &gt;=8.0

Since Apr 24Pushed 4d agoCompare

[ Source](https://github.com/pwsdotru/unoserver-client)[ Packagist](https://packagist.org/packages/pwsdotru/unoserver-client)[ RSS](/packages/pwsdotru-unoserver-client/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

PHP Client for Unoserver
------------------------

[](#php-client-for-unoserver)

PHP Client for connect to remote UnoServer via XMLRPC.

### Unoserver

[](#unoserver)

[Unoserver](https://github.com/unoconv/unoserver) using LibreOffice as a server for converting documents.

[Docker](https://github.com/unoconv/unoserver-docker) for usage Unoserver

#### Run for tests

[](#run-for-tests)

Docker files for tests in folder [./tests/docker/](./tests/docker/)

File [./docker-compose.yml](./docker-compose.yml) for operations with Docker container

Build container (command in project root)

```
docker-compose build

```

Start container for tests (command in project root)

```
docker-compose up

```

Unoserver listen on localhost (127.0.0.1) and port 2003

For check that server runing use script [check-xmlrpc.php](./check-xmlrpc.php). It should output informatino about Unoserver and LibreOffice.

```
php -f check-xmlrpc.php
```

### PHP

[](#php)

For correct work client need module [**xmlrpc**](https://www.php.net/manual/en/book.xmlrpc.php)

*XML-RPC support in PHP is not enabled by default. You will need to use the --with-xmlrpc\[=DIR\] configuration option when compiling PHP to enable XML-RPC support.*

Or install module

php 7.4

```
dnf install php74-php-xmlrpc
```

php 8.3

```
dnf install php83-php-pecl-xmlrpc
```

### Install

[](#install)

```
composer require pwsdotru/unoserver-client

```

### Usage

[](#usage)

#### Ping (info)

[](#ping-info)

```
$ping = new UnoserverClient\Ping($host, $port);

if ($ping->call()) {
    $result = $ping->result();
    echo("Ping result:\n");
    print_r($result);
} else {
    $errors = $ping->errors();
    echo("Ping errors:\n");
    print_r($errors);
}
```

#### Convert

[](#convert)

```
$convert = new UnoserverClient\Convert($host, $port);
$convert->setOutputFormat($format);
if (false === $convert->loadFile($filename)) {
    printf("Error. Can't load file.\n%s\n", implode("\n", $convert->errors()));
    exit(3);
}

if ($convert->call()) {
    $resultfile = $filename . "." . $format;
    if ($convert->saveFile($resultfile)) {
        printf("Convert result: %s\n", $resultfile);
    } else {
        $errors = $convert->errors();
        echo("Save result errors:\n");
        print_r($errors);
    }
} else {
    $errors = $convert->errors();
    echo("Convert errors:\n");
    print_r($errors);
}
```

#### Compare

[](#compare)

```
$compare = new UnoserverClient\Compare($host, $port);
$compare->setOutputFormat($format);

if (false === $compare->loadOldFile($oldname)) {
    printf("Error. Can't load old file: %s.\n%s\n", $oldname, implode("\n", $compare->errors()));
    exit(3);
}

if (false === $compare->loadNewFile($newname)) {
    printf("Error. Can't load new file %s.\n%s\n", $newname, implode("\n", $compare->errors()));
    exit(3);
}

if ($compare->call()) {
    $resultfile = "compareresult." . $format;
    if ($compare->saveFile($resultfile)) {
        printf("Compare result: %s\n", $resultfile);
    } else {
        $errors = $compare->errors();
        echo("Save result errors:\n");
        print_r($errors);
    }
} else {
    $errors = $compare->errors();
    echo("Compare errors:\n");
    print_r($errors);
}
```

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance95

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity38

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

Unknown

Total

1

Last Release

46d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/740937?v=4)[Aleksandr Novikov](/maintainers/pwsdotru)[@pwsdotru](https://github.com/pwsdotru)

---

Top Contributors

[![pwsdotru](https://avatars.githubusercontent.com/u/740937?v=4)](https://github.com/pwsdotru "pwsdotru (22 commits)")

---

Tags

clientconvertcompareUnoServer

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/pwsdotru-unoserver-client/health.svg)

```
[![Health](https://phpackages.com/badges/pwsdotru-unoserver-client/health.svg)](https://phpackages.com/packages/pwsdotru-unoserver-client)
```

###  Alternatives

[php-http/httplug

HTTPlug, the HTTP client abstraction for PHP

2.6k319.6M738](/packages/php-http-httplug)[php-http/discovery

Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations

1.3k325.3M1.5k](/packages/php-http-discovery)[php-http/client-common

Common HTTP Client implementations and tools for HTTPlug

1.1k233.5M623](/packages/php-http-client-common)[react/http

Event-driven, streaming HTTP client and server implementation for ReactPHP

78927.2M451](/packages/react-http)[mashape/unirest-php

Unirest PHP

1.3k9.9M162](/packages/mashape-unirest-php)[smi2/phpclickhouse

PHP ClickHouse Client

85111.1M78](/packages/smi2-phpclickhouse)

PHPackages © 2026

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