Как преобразовать html в doc в php

Мне нужно преобразовать html-файл в doc. Я использую html2pdf для преобразования PDF.

Существует ли какая-либо библиотека для html2doc?

(PS должен быть свободным / открытым исходным кодом)

РЕДАКТИРОВАТЬ

После комментария Марка Эйриха ..

Вот два скриншота. Документ Word не правильно выровнен. Проверьте y-scroll в текстовом документе. WORD, проверьте y scroll ..

html-файл, в браузере.

Тег тела: –

<body style="margin-left:350px; margin-right:350px;"> 

Я попытался настроить его, но никакого эффекта.

EDIT 2

после второго комментария Марк Эйрих, я узнал, что слово принимает вещи в пикселях, а не в возрасте%. У меня последний вопрос на заднем плане .. Любая помощь .. пожалуйста, проверьте два снимка экрана. Разница – внешняя коробка. и thats y html сгенерированный документ выглядит странно.

Оригинальный файл слов

html сгенерированный файл doc

Ответ ИМО не будет, По следующим причинам:

Документы Microsoft Office чрезвычайно сложны в том, как они разрабатываются, а не только форматированный файл со ссылками на такие объекты, как изображения, в нем есть файловая система типа od, чтобы управлять двоичными данными этих объектов.

Позвольте мне привести цитату из нашего собственного Джоэла:

Если вы начнете читать эти документы, надеясь провести выходные, нажимая какой-нибудь шикарный код, который импортирует документы Word в вашу систему блога, или создает электронные таблицы в формате Excel с вашими личными финансовыми данными, сложность и длина спецификации, вероятно, вылечили вас от этого желание довольно штопать быстро. Обычный программист заключил бы, что форматы двоичных файлов Office:

  • сознательно запутываются
  • являются результатом безумного разума Борга
  • были созданы безумно плохими программистами
  • и их невозможно прочитать или создать правильно.

Вы ошибаетесь во всех четырех пунктах ….

Прочтите далее возможное решение:

Если вы действительно хотите создавать фальшивые форматированные документы Word, лучше всего создать документ RTF. Все, что может сделать Word, может быть выражено в RTF, но это текстовый формат, а не двоичный, поэтому вы можете изменить что-то в документе RTF, и он все равно будет работать. Вы можете создать красиво отформатированный документ с заполнителями в Word, сохранить как RTF, а затем с помощью простой замены текста заменить «заполнители» на лету. Теперь у вас есть RTF-документ, который каждая версия Word откроет с радостью.

@source: http://www.joelonsoftware.com/items/2008/02/19.html

Некоторые ссылки, которые могут вас заинтересовать в пути:

  • Ресурсы:
    • XHTML2RTF: инструмент преобразования HTML в RTF на основе XSL
    • Word (.doc) Формат двоичного файла
    • HTML + CSS для RTF (в PHP)?
  • Решения
    • Live DOCX в PHP
    • Zend_Service_LiveDocx

Хотя, попробуйте открыть файл слова с помощью winrar;), Возможно, создание архива с определенными заголовками, а затем изменение extenstion будет достаточным, Never Tried

для преобразования в Microsoft Word вам нужен сервер с поддержкой COM (под управлением Windows и Office). Если у вас такой сервер

 $word = new COM("word.application") or die ("couldnt create an instance of word"); 

должно сработать!. Подробнее см. http://php.net/manual/en/book.com.php .

В противном случае ваш лучший снимок в html2doc – html2rtf, который достигается с помощью библиотеки, например http://paggard.com/projects/rtf.generator/ или http://sourceforge.net/projects/phprtf/ .

Затем, после создания RTF, вы подаете его в браузер с заголовком doc

 header("Content-type: application/vnd.ms-word"); header("Content-Disposition: attachment;Filename=document_name.doc"); 

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

Кроме того, сохранение rtf как документа в порядке, и слово будет открыто в макете без каких-либо жалоб. Вы также можете обслуживать HTML с указанным выше заголовком, но проблема в том, что Word откроется в веб-представлении, и это плохо 🙂