PHPackages                             b13/format - 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. b13/format

AbandonedTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

b13/format
==========

3.0.0(1y ago)61.3k1[2 issues](https://github.com/b13/t3ext-format/issues)GPL-2.0-or-laterPHPPHP ^7.4.0 || ^8.0

Since Nov 29Pushed 1y ago7 watchersCompare

[ Source](https://github.com/b13/t3ext-format)[ Packagist](https://packagist.org/packages/b13/format)[ Docs](https://github.com/b13/t3ext-format)[ RSS](/packages/b13-format/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (3)Dependencies (2)Versions (8)Used By (0)

TYPO3 Extension format
======================

[](#typo3-extension-format)

Caution

This TYPO3 Extension will not be maintained by b13 any further starting January 2025. So, you're on your own using this extension.

*Why?*

This extension was initially created back when TYPO3 v4 was hip and cool. However, we've experienced in the past years, that we've utilized composer-based packages directly for solving these problems, when they are needed. We don't need "one-fits-it-all" solution.

If you need a CSV file (or output) generated by PHP, copy over the file into your project, or code the 5 lines on your own.

If you need Excel support, utilize the composer package `phpoffice/phpspreadsheet` directly.

And if you need PDF creation support - we recommend also to look into solutions you need - some people need wkhtmltopdf, some need mpdf, and others a different requirement.

---

Utility Extension for putting data in different formats like

- CSV
- PDF
- Excel

Installation
------------

[](#installation)

Simply install the extension with Composer or the Extension Manager. Include the TypoScript if you want to use the PDF generation.

Usage
-----

[](#usage)

### CSV

[](#csv)

Use the public API of the `CsvService` to generate a CSV file or output the CSV string directly.

### Excel

[](#excel)

There is no wrapper functionality to help with the creation of excel files. However the library `phpoffice/phpspreadsheet` is required as a composer dependency and can therefore be used out of the box in composer based installations.

### PDF

[](#pdf)

The PDF functionality relies on wkhtmltopdf which must be available on the server. There are several ways to provide the binary. Please refer to the wkhtmltopdf documentation.

The extension provides a PdfService. here is an example usage:

```
$pdfService = GeneralUtility::makeInstance(PdfService::class);
$pdfService->setContent($myHtml);
$absolutepathToFile = $pdfService->saveToFile('myPdf');

```

This will create a file `myPdf.pdf` with the contents of `$myHtml` in a directory that can be configured in TypoScript. The whole TypoScript configuration (`constants.typoscript`):

```
plugin.tx_format {
  settings {
    pdf {
      // Path to the wkhtmltopdf binary
      binaryFilePath = /usr/local/bin/wkhtmltopdf
      // Path were the PDFs are stored
      tempDirectoryPath = /tmp/
      // Default file name of the generated PDF
      tempFileName =
      // If set the fileName will be appended with X characters of the md5 hash of the content
      md5Length = 0
      // Use print media-type instead of screen
      printMediaTypeAttribute = 1
      // Generates lower quality pdf/ps. Useful to shrink the result document space
      lowQualityAttribute = 0
      // Adds a html footer
      footerHtmlAttribute =
      // URL to render (instead of content)
      url =
      // Minimum font size
      minimumFontSize = 15
      // Set the page left margin (default 10mm)
      marginLeft = 10
      // Set the page right margin (default 10mm)
      marginRight = 10
      // Set the page top margin
      marginTop = 10
      // Set the page bottom margin
      marginBottom = 10
      // The default page size of the rendered document is A4, but using this
      // --page-size optionthis can be changed to almost anything else, such as: A3,
      // Letter and Legal.  For a full list of supported pages sizes please see
      // .
      pageSize =
      // Wait some milliseconds for javascript finish (default 200)
      javaScriptDelay = 200
      // Set orientation to Landscape or Portrait (default Portrait)
      orientation = Portrait
      // Whether a generated PDF should be kept at the end of the process. By default it is deleted.
      persistPDF = 0
      // For all supported attributes refer to https://wkhtmltopdf.org/usage/wkhtmltopdf.txt
      additionalAttributes =
    }
  }
}

```

Every setting can be overwritten during runtime:

```
$pdfService = GeneralUtility::makeInstance(PdfService::class);
$pdfService->setSettings(
  [
    'orientation' => 'Landscape,
    'marginLeft' => 25,
    'tempDirectoryPath' => PATH_site . 'something/public/'
  ]
);

```

### Sharing our expertise

[](#sharing-our-expertise)

[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you) that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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

Total

4

Last Release

584d ago

Major Versions

v2.1.0 → 3.0.02024-10-08

PHP version history (3 changes)v2.0.0PHP &gt;=5.5.0 &lt;7.3

v2.1.0PHP &gt;=5.5.0 &lt;7.5

3.0.0PHP ^7.4.0 || ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/165630?v=4)[Benni Mack](/maintainers/bmack)[@bmack](https://github.com/bmack)

![](https://avatars.githubusercontent.com/u/2851821?v=4)[b13 GmbH](/maintainers/b13)[@b13](https://github.com/b13)

---

Top Contributors

[![bmack](https://avatars.githubusercontent.com/u/165630?v=4)](https://github.com/bmack "bmack (12 commits)")[![davidsteeb](https://avatars.githubusercontent.com/u/3862523?v=4)](https://github.com/davidsteeb "davidsteeb (6 commits)")[![ervaude](https://avatars.githubusercontent.com/u/7824856?v=4)](https://github.com/ervaude "ervaude (4 commits)")[![achimfritz](https://avatars.githubusercontent.com/u/2152991?v=4)](https://github.com/achimfritz "achimfritz (2 commits)")[![jlochstampfer](https://avatars.githubusercontent.com/u/2862592?v=4)](https://github.com/jlochstampfer "jlochstampfer (1 commits)")[![jschlier](https://avatars.githubusercontent.com/u/9108576?v=4)](https://github.com/jschlier "jschlier (1 commits)")

### Embed Badge

![Health badge](/badges/b13-format/health.svg)

```
[![Health](https://phpackages.com/badges/b13-format/health.svg)](https://phpackages.com/packages/b13-format)
```

###  Alternatives

[in2code/powermail

Powermail is a well-known, editor-friendly, powerful and easy to use mailform extension for TYPO3 with a lots of features

982.5M38](/packages/in2code-powermail)[b13/assetcollector

Add CSS and SVG files and strings as inline style tag/inline svg to the html code.

10118.4k](/packages/b13-assetcollector)[mfd/ai-filemetadata

Automatically generates FAL metadata for files by means of public LLMs

1142.1k](/packages/mfd-ai-filemetadata)[mautic/mautic-typo3

Add-on TYPO3 extension that enhances the "EXT:marketing\_automation" TYPO3 extension by connecting it to the Mautic Marketing Automation platform: Determine "Persona" from Mautic segments. Also provides additional services e.g. language synchronisation between Mautic and TYPO3.

236.3k](/packages/mautic-mautic-typo3)

PHPackages © 2026

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