Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Unoconv Bundle

Unoconv Bundle Laravel Package

jmd/unoconv-bundle

A Symfony bundle that wraps unoconv to convert office documents such as DOCX, ODT, XLSX and PPT into PDF or other formats using LibreOffice. It exposes a simple service for handling conversions in your PHP applications, keeping document processing out of your main codebase.

View on GitHub
Deep Wiki
Context7

This bundle allows you to convert files through unoconv (LibreOffice)

Frequently asked questions about Unoconv Bundle
Can I use jmd/unoconv-bundle in a Laravel application?
No, there is no supported path. It is a Symfony bundle registered through AppKernel or bundles.php and a DependencyInjection extension, with no Laravel ServiceProvider, facade, or publishable config file. Adopting it means pulling Symfony's DI machinery into Laravel or reimplementing its few hundred lines of process-wrapper code idiomatically.
Does jmd/unoconv-bundle support Laravel 10, 11, or 12?
No. Its composer.json constrains PHP to the 5.x and 7.0 era and Symfony to ~2.x, so dependency resolution will fail against Laravel 10, 11, or 12, which require PHP 8.1 or newer. There is no Laravel version constraint in its metadata because it was never a Laravel package.
How do I install jmd/unoconv-bundle?
You would run composer require jmd/unoconv-bundle, but on a modern stack it will almost certainly fail dependency resolution. Even on an era-appropriate Symfony 2 application you would register the bundle in AppKernel and configure the unoconv binary path and timeouts. Installation is not the real blocker; the lack of a supported modern runtime is.
What does jmd/unoconv-bundle actually do?
It is a thin Symfony service wrapper around the unoconv CLI, which drives headless LibreOffice to convert DOCX, ODT, XLSX, PPT, and similar formats to PDF or other targets. It adds a configurable binary path, timeouts, conversion options, and exceptions for failed conversions. The substance is process execution rather than document parsing.
Is jmd/unoconv-bundle maintained?
No. Its last release was 2016-05-17, the repository is archived, and it has zero stars and zero dependents. Upstream unoconv is also effectively unmaintained and historically depended on Python 2, so even a successful install lands you on a dead toolchain.
What are the security risks of converting uploaded documents with unoconv?
Two risks dominate: command injection through user-influenced filenames or paths passed to the shell, and the adversarial nature of Office documents, which can carry macros, external references, malformed archives, and parser exploits. Running headless LibreOffice on untrusted uploads inside your application's process boundary gives those documents your filesystem and network access. This package predates modern hardening norms and should be assumed unsafe without a line-by-line audit.
What Laravel packages can replace jmd/unoconv-bundle for document conversion?
For format-specific needs, use phpoffice/phpspreadsheet for spreadsheets, phpword for Word files, and dompdf or mpdf for HTML-to-PDF work, which avoids LibreOffice entirely. For layout-exact Office-to-PDF conversion, call a Gotenberg container over HTTP from a queued job instead of running a converter in-process. There is no Laravel wrapper worth adopting from this Symfony bundle.
How do I convert DOCX to PDF in Laravel without LibreOffice?
Use a PHP library such as phpword to read the DOCX plus a PDF renderer, or route the conversion to an HTTP service like Gotenberg that packages LibreOffice behind a clean API. If layout fidelity matters, the HTTP service route is usually better because pure-PHP DOCX-to-PDF rendering is lossy. Keep the call in a queued job with a timeout rather than inline in a request.
Does jmd/unoconv-bundle work with PHP 8?
No. Its Composer constraints target the PHP 5.x and 7.0 era, so it will not install on PHP 8.1 or newer without ignoring platform requirements, which is not a supported configuration. The code also predates modern typing and process-handling norms, so forcing it is not advisable.
How should I run LibreOffice document conversion in production with Laravel?
Run LibreOffice headless in an isolated container, either directly via soffice --headless --convert-to or through Gotenberg's HTTP API, and call it from a dedicated queued job using Storage disks for input and output. This keeps hangs, profile-lock contention, and process supervision out of your application workers while giving you timeouts and horizontal scaling. Synchronous in-request conversion is a latency and availability trap, especially for untrusted uploads.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core