php convert word to pdf

Генерация документов в doc, excel, pdf и других форматах на сервере

Выгрузка отчетов в различных форматах — типовая задача для многих проектов. И сейчас есть немало инструментов для этого. Среди них есть интересный вариант, который применяется, как мне кажется, не часто, но он однозначно стоит внимания. Потому что позволяет получить документ в нужном формате буквально одной командой. О нем и расскажу.

php convert word to pdf. Смотреть фото php convert word to pdf. Смотреть картинку php convert word to pdf. Картинка про php convert word to pdf. Фото php convert word to pdf

Я буду не многословен и сразу скажу, что речь идет о конвертере, встроенном в пакет LibreOffice. Вы можете запустить конвертацию из консоли, чтобы увидеть как это работает:

Эта команда конвертирует файл html.html в pdf файл. Количество поддерживаемых форматов впечатляет.

Выгода от использования такого инструмента очевидна. Вместо того, чтобы писать код для генерации документов в каждом из нужных форматов, просто создаем обычное html-представление. Далее сгенерированную страницу прогоняем через конвертер.

Запуск конвертации из PHP

Для установки конвертера на сервере придется установить пакет libreoffice-core:

Чтобы было удобно работать с утилитой из PHP, я написал обертку.

Обертка позволяет вам не думать о работе с временными файлами, подставляет в команду некоторые параметры по умолчанию, содержит константы с описанием доступных форматов, а также дает возможность задать таймаут на выполнение конвертации.

Для работы с оберткой подключаем ее к своему проекту через composer:

Использовать ее можно так:

В результате будет сформирован docx файл. Больше примеров можно найти на гитхабе.

Разумеется, в качестве бонуса можно запускать конвертацию в другую сторону — из doc в html и отображать содержимое офисных документов в браузере. Качество конвертации будет не всегда на высоте, но для каких-то случаев вполне подойдет.

Несколько граблей

Будет полезно рассказать про несколько особенностей, с которыми я столкнулся при работе с этой утилитой.

1. Применение CSS стилей. При преобразовании html в нужный формат имейте ввиду, что такая запись воспринимается корректно:

А такие записи будут обработаны точно так же, как если бы class мы совсем не указали:

2. При преобразовании html в нужный формат не всегда срабатывают описания стилей и иногда приходится экспериментировать, чтобы заработало. Например, так не работает:

3. Одно и то же преобразование можно выполнять с помощью разных конвертеров. При этом результат будет существенно отличаться. Если у вас на выходе получится не очень красивый документ, попробуйте принудительно задать используемый модуль, например:

4. Можно ли настроить ширину строк в таблице — для меня пока загадка. И в целом со стилизацией таблицы при преобразовании html в docx или pdf у меня возникли затруднения. Поэтому на мой взгляд подход трудно будет применять для генерации сложных печатных форм, таких как счет-фактура.

Источник

Convert Word doc, docx and Excel xls, xlsx to PDF with PHP

I am looking for a way to convert Word and Excel files to PDF using PHP.

The reason for this, is I need to be able to combine files of various formats into one document. I know that if I am able to convert everything to PDF I can then merge the PDFs into one file using PDFMerger (which uses fpdf).

I am already able to create PDFs from other file types / images, but am stuck with Word Docs. (I think I would possibly be able to convert the Excel files using the PHPExcel library that I already use to create Excel files from html code).

I do not use the Zend Framework, so am hoping that someone will be able to point me in the right direction.

Alternatively, if there is a way to create image (jpg) files from the Word documents, that would be workable.

12 Answers 12

I found a solution to my issue and after a request, will post it here to help others. Apologies if I missed any details, it’s been a while since I worked on this solution.

The first thing that is required is to install Openoffice.org on the server. I requested my hosting provider to install the open office RPM on my VPS. This can be done through WHM directly.

Now that the server has the capability to handle MS Office files you are able to convert the files by executing command line instructions via PHP. To handle this, I found PyODConverter: https://github.com/mirkonasato/pyodconverter

I created a directory on the server and placed the PyODConverter python file within it. I also created a plain text file above the web root (I named it «adocpdf»), with the following command line instructions in it:

This checks that the openoffice.org libraries are running and then calls the PyODConverter script to process the file and output it as a PDF. The 3 variables on the first three lines are provided when the script is executed from with a PHP file. The delay («sleep 5s») is used to ensure that openoffice.org has enough to time to initiate if required. I have used this for months now and the 5s gap seems to give enough breathing room.

The script will create a PDF version of the document in the same directory as the original.

Finally, initiating the conversion of a Word / Excel file from within PHP (I have it within a function that checks if the file we are dealing with is a word / excel document).

OK, that’s it! Hopefully this will be useful to someone and save them the difficulties and learning curve I faced.

Источник

convert txt or doc to pdf using php

it has to follow the same format as the original txt or doc file meaning the line feed as well as new paragraph.

4 Answers 4

Converting from DOC to PDF is possible using phpLiveDocx:

For text to PDF, you can use the pdf extension is PHP. You can view the examples here.

Have a look at this SO question. Using OpenOffice in command line mode for conversions can be done, though you’d have to search a bit for the conversion macro’s. I’m not saying it’s light-weight though 🙂

See HTML_ToPDF. It also works for text.

php convert word to pdf. Смотреть фото php convert word to pdf. Смотреть картинку php convert word to pdf. Картинка про php convert word to pdf. Фото php convert word to pdf

It has been a long time since I touched PHP, but if you can make web service calls from it then try this product. It provides excellent conversion fidelity. It also supports additional formats including Infopath, Excel, PowerPoint etc as well as Watermarking support.

Please note that I have worked on this product so the usual disclaimers apply.

Not the answer you’re looking for? Browse other questions tagged php pdf or ask your own question.

Linked

Related

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.9.17.40238

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Всем привет, не первый день ломаю голову вопросом, КАК ПРЕОБРАЗОВАТЬ docx в pdf. Гуглил без отдыха, и видео смотрел и те же библиотеки качал, сначала просто пробовал сделать как у них, не меняя ничего, и то не получается, не то что добавление в свой проект. У всех свои библиотеки. все ссылки разные. сижу безвылазно, хочу разобраться, кто нибудь может подскажешь реально работающий метод, или где его посмотреть.

Заранее сори, возможно не там где нужно создал тему, переместите в нужный раздел пожалуйста.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как конвертировать из docx в pdf?
Пробовал self.in_file = r’c:/project/func.docx’ self.out_file=.

Как сконвертировать pdf в docx?
Добрый вечер. Интересует следующее: кто может подсказать способ(если таковой имеется), как мне в.

Serega91, запрос в Google выдал мне сервис API для преобразования файлов.

При ответе, сервер предоставляет → ссылка на скачивание файла и другие метаданные.

Думаю, допилить к phpword не составит труда. + есть пример работы на PHP.

Вот простой пример на JS (jQuery). Забирает файл с компьютера → предоставляет ссылку на скачивание.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Переконвертировать docx в pdf
Как средствами php можно переконвертировать docx в pdf. Если можно, подробнее описать все действия.

Конвертация Docx в PDF
День добрый, Суть такая, что с помощью формы я создаю docx документ, с колонтитулами, картинками.

Конвертировать DOCX to PDF
Добрый день! Стоит задача конвертировать docx to pdf. Для создания документа использую.

Автоматизация сохранения docx в PDF
Доброго времени суток. Есть скрипт конвертации массива документов в папке из docx в doc. Выглядит.

php convert word to pdf. Смотреть фото php convert word to pdf. Смотреть картинку php convert word to pdf. Картинка про php convert word to pdf. Фото php convert word to pdfВставка документа (docx,pdf) в существующую анкету
Доброй ночи. На данный момент на сайте существует анкета-заявка (при нажатии на «отправить.

Источник

Php convert word to pdf

Недавно возникла у нас необходимость конвертировать docx в pdf. Задачка элеменатарно решается руками через GUI таких популярных приложений как Microsoft Office и Libreoffice. Открыл файл нажал «Сохранить Как. » и будет тебе счастье.

Так как разработка велась под linux, идею использования MS Office мы сразу отбросили и начали искать другие способы грамотной реализации поставленной задачи. К счастью, в libreoffice обнаружился headless режим, который запускал офис без интерфейса и позволял конвертировать один документ в другой.

Так было решено написать простую утилиту для нашего веб-приложения, которой только и нужно будет, что файлы подбрасывать. Получилось вот что (писали на asyncio):

Пришлось процедуру конвертации переписать через вызов обычного subprocess, чтобы она происходила синхронно:

Мы стали искать решение, чтобы разрешить libreoffice запускать несколько копий одновременно. Были предложения передавать в качестве параметра -env:SingleAppInstance=false или разворачивать несколько копий soffice systemd сервисов. В общем, решения либо не работали, либо казались недостаточно гибкими. В итоге, мы стали смотреть в сторону докера.

Также, в пользу докера был тот факт, что наш лид изначально не хотел устанавливать libreoffice на продакшен сервер.

Создаем контейнер под libreoffice с микросервисом

Первым делом, мы упаковали наш конвертер-микросервис в отдельный файлик main.py:

После, мы создали Dockerfile, который позволял бы нам запускать libreoffice изолированно и добавили в него запуск нашего микросервиса. Вот такой файл получился:

В таком варианте мы уже могли собрать образ, запустить его и потестить. Но он все еще не позволял нам обрабатывать более одного запроса за раз.

Так мы решили, что будем использовать nginx в качестве балансировщика, а для того, чтобы обеспечить возможность параллелить обработку документов, развернем несколько конейнеров образа. Для решения такой задачи идеально подошел docker-compose.

Мы создали файл docker-compose.yml со следующим содержимым:

И добавили файл nginx.conf:

Запустили нашу конфигурацию:

И попробовали прогнать тест:

Все отлично сработало. Никаких падений не наблюдалось. Nginx исправно распределял нагрузку, а микросервисы выдавали свежесозданные pdf-ки.

php convert word to pdf. Смотреть фото php convert word to pdf. Смотреть картинку php convert word to pdf. Картинка про php convert word to pdf. Фото php convert word to pdfdocker, libreoffice, python

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *