PHPackages                             ubl/php-iiif-prezi-reader - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. ubl/php-iiif-prezi-reader

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ubl/php-iiif-prezi-reader
=========================

Read IIIF Presentation API resources into PHP objects that offer some convenient data extraction methods

0.3.0(6y ago)427.3k↓49.3%3[2 issues](https://github.com/ubleipzig/php-iiif-prezi-reader/issues)[1 PRs](https://github.com/ubleipzig/php-iiif-prezi-reader/pulls)1GPL-3.0-or-laterPHPPHP &gt;=5.6CI failing

Since Feb 21Pushed 1y ago5 watchersCompare

[ Source](https://github.com/ubleipzig/php-iiif-prezi-reader)[ Packagist](https://packagist.org/packages/ubl/php-iiif-prezi-reader)[ RSS](/packages/ubl-php-iiif-prezi-reader/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (4)Used By (1)

IIIF Manifest Reader for PHP
============================

[](#iiif-manifest-reader-for-php)

Read [IIIF](https://iiif.io/) Presentation API resources into PHP objects that offer some convenient data extraction methods.

Requires at least PHP 8.1.

IIIF Presentation API support is primarily implemented for version [2.1](https://iiif.io/api/presentation/2.1/), with some rudimentary support for [Presentation API 3.0](https://iiif.io/api/presentation/3.0/) and [Metadata API 1.0](https://iiif.io/api/metadata/1.0/).

Where to start
--------------

[](#where-to-start)

- Any IIIF manifest (or any other IIIF Presentation API / Metadata API resource json document) as text content, URL or path can be loaded into a PHP object representing the document with `\Ubl\Iiif\Tools\IiifHelper::loadIiifResource($resource)`. The object will contain all "child" resources in a property with the name of their properties in the IIIF Metadata API 1 (namespace `Ubl\Iiif\Presentation\V1\Model\Resources`), IIIF Presentation API 2 (`Ubl\Iiif\Presentation\V2\Model\Resources`) or IIIF Presentation API 3 (`Ubl\Iiif\Presentation\V3\Model\Resources`). You can also use most of these resources via interfaces that are defined in `Ubl\Iiif\Presentation\Common\Model\Resources`. These interfaces attempt to offer a (somewhat reduced) version independent functionality.
- If you want to use any framework's functionality for retrieving remote documents instead of PHP's `file_get_contents()`, implement `\Ubl\Iiif\Tools\UrlReaderInterface` and use `\Ubl\Iiif\Tools\IiifHelper::setUrlReader(UrlReaderInterface $urlReader)` before loading any documents.
- Use `\Ubl\Iiif\Tools\IiifHelper::setMaxThumbnailWidth($maxThumbnailWidth)` and `\Ubl\Iiif\Tools\IiifHelper::setMaxThumbnailHeight($maxThumbnailHeight)` to set the maximum dimensions for resource thumbnails that offer an IIIF image service for generating thumbnails.

TODOs:
------

[](#todos)

- Support annotation grouping (via Layer for Metadata API 1, Presentation API 2; via AnnotationCollection via Presentation API 3)
- Finish Metadata API 1.0 and Presentation API 3.0 implementation
- Improve annotation support regarding selectors / fragments as annotation targets as well as regarding resource types
- Check performance for large manifests when there are hundreds or thousands of canvases or annotations per manifest
- Handle resources that are only referenced and not contained (e.g. manifests in a collection)
- Improve test coverage

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance24

Infrequent updates — may be unmaintained

Popularity32

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.5% 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 ~102 days

Total

3

Last Release

2485d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7923633?v=4)[Leipzig University Library](/maintainers/ubleipzig)[@ubleipzig](https://github.com/ubleipzig)

![](https://www.gravatar.com/avatar/2a02d71f518b3649fecaffbf08bdf78e2c9871e45d3464f26ff3249572386189?d=identicon)[lutzhelm](/maintainers/lutzhelm)

---

Top Contributors

[![lutzhelm](https://avatars.githubusercontent.com/u/20013890?v=4)](https://github.com/lutzhelm "lutzhelm (270 commits)")[![stweil](https://avatars.githubusercontent.com/u/6734573?v=4)](https://github.com/stweil "stweil (4 commits)")

---

Tags

iiifiiif-presentationiiif-presentation-3iiifiiif-presentation

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ubl-php-iiif-prezi-reader/health.svg)

```
[![Health](https://phpackages.com/badges/ubl-php-iiif-prezi-reader/health.svg)](https://phpackages.com/packages/ubl-php-iiif-prezi-reader)
```

###  Alternatives

[oat-sa/tao-core

TAO core extension

66143.7k122](/packages/oat-sa-tao-core)[marquine/php-etl

Extract, Transform and Load data using PHP.

182138.3k](/packages/marquine-php-etl)[eureka2/g6k

Generator of simulator of calculation (calculator)

235.5k](/packages/eureka2-g6k)[jolicode/seo-override

Override your seo markup on the fly

1463.0k](/packages/jolicode-seo-override)[rabbit-converter/rabbit-php

Another Zawgyi &lt;=&gt; Unicode Converter

2914.1k](/packages/rabbit-converter-rabbit-php)

PHPackages © 2026

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