doc to html php
Как конвертировать doc, pdf, djvu, docx, fb2, epub в HTML на PHP?
Здравствуйте! Встала задача написания онлайн-библиотеки. В качестве сервера обычный хостинг (т.е. не VDS).
Надо средствами PHP (или через API каких-то сервисов) преобразовывать все эти файлы в HTML.
Подскажите, пожалуйста, как это можно организовать? Или есть уже готовые фреймворки/CMS для написания онлайн-библиотеки?
Я думаю имеет смысл просто отображать документы если это возможно. Например:
Все вместе сразу не бывает.
С обычного хостинга погонят вас очень скоро, если вы будете такими вещами заниматься. Это очень ресурсоемкие процессы.
Готовые решения для pdf, doc(x) точно есть с остальными не работал.
Но качество обработки очень зависит от того чем вы будете это обрабатывать. Особенно это касается pdf.
И естественно pdf2html не даст текста, скорее всего это будет html со вставками картинок(большая часть книг pdf это сканы)
Для docx например есть PHPWord
Генерация документов в doc, excel, 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 у меня возникли затруднения. Поэтому на мой взгляд подход трудно будет применять для генерации сложных печатных форм, таких как счет-фактура.
Конвертер DOC в HTML
Конвертировать DOC в HTML
Этот онлайн-конвертер document позволяет конвертировать файлы из DOC в HTML в высоком качестве. Мы поддерживаем множество различных форматов файлов, таких как PDF, DOCX, PPTX, XLSX и другие. Используя технологию конвертации online-convert.com, вы получаете точные результаты конвертирования.
Ошибка: количество входящих данных превысило лимит в 3.
Чтобы продолжить, вам необходимо обновить свою учетную запись:
Ошибка: общий размер файла превысил лимит в 100 MB.
Чтобы продолжить, вам необходимо обновить свою учетную запись:
Ошибка: общий размер файла превысил абсолютный лимит в 8GB.
Для платных аккаунтов мы предлагаем:
- Вплоть до 8GB общего размера файла за один сеанс конвертирования 200 файлов на одно конвертирование Высокий приоритет и скорость конвертирования Полное отсутствие рекламы на странице Гарантированный возврат денег
- До 100 Мб общего размера файла за один сеанс конвертирования 5 файлов на одно конвертирование Обычный приоритет и скорость конвертирования Наличие объявлений
Мы не может загружать видео с Youtube.
Чтобы конвертировать в обратном порядке из HTML в DOC, нажмите здесь:
Конвертер HTML в DOC
Оцените конвертирование HTML с помощью тестового файла DOC
Не впечатлило? Нажмите на ссылку, чтобы конвертировать наш демонстрационный файл из формата DOC в формат HTML:
Конвертирование DOC в HTML с помощью нашего тестового файла DOC.
DOC (Microsoft Word Binary File Format)
Используемый текстовыми редакторами на компьютерах формат DOC (Document) прочно ассоциируется с программой Microsoft Word. Изначально этот формат представлял собой простой текст, однако в настоящее время пользователи могут вставлять в файлы DOC гиперссылки, изображения, менять поля, выравнивание и т.п. При своем создании файлы DOC покрывали все нужны пользователей, связанные с редактированием.
Что такое DOC?
HTML (Hypertext Markup Language with a client-side image map)
HTML с картинками в DOC на PHP собственными руками
В статье Не очень честная генерация DOC файлов на PHP был описан описан способ генерации DOC файла при помощи генерации MHT (MIME HTML) используя стороннюю библиотеку. Сегодня я расскажу о своей собственной генерации в этот формат. Плюсы моего способа следующие:
1) В OpenOffice читаемый текст и картинки.
2) В Word открывается файл в электронном виде, а не на весь экран.
3) Наш скрипт будет принимать HTML и отдавать сразу DOC файл на скачивание.
Начнем с функции, которая отдаст DOC файл на скачивание и будет работать во всех браузерах и со всеми протоколами(у меня с этим были проблемы):
Теперь перейдем к самой генерации DOC файла, для этого создадим форму, которая будет отправлять нам html с картинками, картинки лежат на нашем сайте.
Преобразовывать изображения мы будем при помощи base64, создадим функцию — callback для этого:
Сразу извиняюсь, за то, что код написан в функциях, а все данные храниться в глобальных переменных. Код был написан, когда я ещё только начинал писать на PHP. Теперь создадим функцию, которая поможет нам с текстом, чтобы он хотя бы читался и в OpenOffice.
Теперь сам код скрипта:
Ну и наконец само преобразование HTML в DOC в действии:
Пример работы скрипта, вы можете посмотреть по следующей ссылке:
Несколько слов о Libre Office:
Текст выводиться, а вот картинки увы. Почитав про Mime пытался сделать через Content-ID, не вышло. Либо я чего-то не знаю, либо Libre Office вообще не хочет поддерживать MIME HTML.
Конвертируйте документы в HTML
Конвертер HTML
Конвертируйте ваши документы в формат SWF от Adobe с помощью бесплатного он-лайн HTML-конвертера. Для конвертирования документа в HTML вам нужно загрузить файл. В случае если вам необходимо конвертировать исходный файл в несколько файлов, на выходе вы получите архив Zip.
Ошибка: количество входящих данных превысило лимит в 3.
Чтобы продолжить, вам необходимо обновить свою учетную запись:
Ошибка: общий размер файла превысил лимит в 100 MB.
Чтобы продолжить, вам необходимо обновить свою учетную запись:
Ошибка: общий размер файла превысил абсолютный лимит в 8GB.
Для платных аккаунтов мы предлагаем:
- Вплоть до 8GB общего размера файла за один сеанс конвертирования 200 файлов на одно конвертирование Высокий приоритет и скорость конвертирования Полное отсутствие рекламы на странице Гарантированный возврат денег
- До 100 Мб общего размера файла за один сеанс конвертирования 5 файлов на одно конвертирование Обычный приоритет и скорость конвертирования Наличие объявлений
Мы не может загружать видео с Youtube.
В настоящий момент вы поддерживаем следующие направления конвертирования: DOC в HTML, DOCX в HTML, XLS в HTML, XLSX to HTML, PPT в HTML, PPTX в HTML, TXT в HTML и др.



