2012-02-22 13 views
4

Я успешно смог создать документ .docx с https://github.com/djpate/docxgen, но как только я попытаюсь включить текст TinyMCE, я больше не могу открыть документ. (недействительный символ).Преобразование HTML (tinyMCE) в WORD (.docx)

Есть ли способ конвертировать текст HTML, прежде чем давать его docxgen, чтобы избежать такой ошибки?

+0

вы пробовали что-нибудь вроде следующего: html_entity_decode ($ HTML, ENT_QUOTES, "UTF-8"); Вы сохраняете файл в любой точке? Можете ли вы показать незаконного персонажа? Является ли это частью спецификации, т. Е. Ï »¿ – Gavin

+0

http://phpword.codeplex.com/documentation –

ответ

3

Я решил пойти с про версией библиотеки http://www.phpdocx.com/, поскольку это упрощает весь процесс. Надеюсь, это удовлетворит мои потребности.

+3

Это программное обеспечение является конфиденциальным, и вам приходится платить за использование почти каждой полезной функции, поэтому это нехорошее решение. – ZanattMan

+0

Это лучше, чем ничего. Если у вас есть лучшее решение, не стесняйтесь его добавлять. –

+0

Помог ли phpdocx.com ваши потребности Тристан? Я тоже думаю о покупке этого (embedHTML() находится в про версии) – relipse

0

Другое решение использует http://htmltodocx.codeplex.com/, который только что вышел.

Я, однако, попробовал и он испортил мой счет-фактуру (получила я таблицу, где я не должен иметь)

Jim

6

Наконец, я остановился с этим ответом, чтобы создать документ (просто вывода HTML и Слово распознает его):

header('Content-Type: application/msword'); 
    header("Content-disposition: attachment; filename=" .date("Y-m-d").".doc"); 
    /* 
    header("Content-type: application/vnd.ms-word"); 
    header("Content-disposition: attachment; filename=" .date("Y-m-d").".rtf"); 
    */ 
    $html = preg_replace('%/[^\\s]+\\.(jpg|jpeg|png|gif)%i', 'http://www.akubocrm.com\\0', $html); 

    print "<html xmlns:v=\"urn:schemas-microsoft-com:vml\""; 
    print "xmlns:o=\"urn:schemas-microsoft-com:office:office\""; 
    print "xmlns:w=\"urn:schemas-microsoft-com:office:word\""; 
    print "xmlns=\"http://www.w3.org/TR/REC-html40\">"; 
    print "<xml> 
    <w:WordDocument> 
     <w:View>Print</w:View> 
     <w:DoNotHyphenateCaps/> 
     <w:PunctuationKerning/> 
     <w:DrawingGridHorizontalSpacing>9.35 pt</w:DrawingGridHorizontalSpacing> 
     <w:DrawingGridVerticalSpacing>9.35 pt</w:DrawingGridVerticalSpacing> 
    </w:WordDocument> 
    </xml> 
    "; 

    die($html); 
Смежные вопросы