Chcę móc przesłać dokument MS Word i wyeksportować go na stronę w mojej witrynie.Jak przekonwertować dokument docx na HTML przy użyciu php?
Czy jest jakiś sposób, aby to osiągnąć?
Chcę móc przesłać dokument MS Word i wyeksportować go na stronę w mojej witrynie.Jak przekonwertować dokument docx na HTML przy użyciu php?
Czy jest jakiś sposób, aby to osiągnąć?
//FUNCTION :: read a docx file and return the string
function readDocx($filePath) {
// Create new ZIP archive
$zip = new ZipArchive;
$dataFile = 'word/document.xml';
// Open received archive file
if (true === $zip->open($filePath)) {
// If done, search for the data file in the archive
if (($index = $zip->locateName($dataFile)) !== false) {
// If found, read it to the string
$data = $zip->getFromIndex($index);
// Close archive file
$zip->close();
// Load XML from a string
// Skip errors and warnings
$xml = DOMDocument::loadXML($data, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING);
// Return data without XML formatting tags
$contents = explode('\n',strip_tags($xml->saveXML()));
$text = '';
foreach($contents as $i=>$content) {
$text .= $contents[$i];
}
return $text;
}
$zip->close();
}
// In case of failure return empty string
return "";
}
ZipArchive i DOMDocument są zarówno wewnątrz jak PHP, dzięki czemu nie trzeba instalować/include/wymagać dodatkowych bibliotek.
Dzięki to doskonały, ale czy istnieje sposób, aby zachować formatowanie, takie jak pogrubienie i kursywa słowa –
Dzięki ... to zwraca cały dokument. ale czy istnieje jakiś sposób, aby uzyskać indywidualny tekst stron! –
Można użyć PHPDocX.
Obsługuje praktycznie wszystkie style CSS HTML. Ponadto możesz użyć szablonów, aby dodać dodatkowe formatowanie do HTML za pomocą replaceTemplateVariableByHTML
.
Metody HTML w PHPDocX umożliwiają również bezpośrednie korzystanie ze stylów Worda. Można użyć czegoś takiego:
$docx->embedHTML($myHTML, array('tableStyle' => 'MediumGrid3-accent5PHPDOCX'));
Jeśli chcesz, aby wszystkie tabele użyć stylu MediumGrid3-accent5 programu Word. Metoda embedHTML, jak również jej wersja dla szablonów (replaceTemplateVariableByHTML
) zachowują dziedziczenie, co oznacza, że możesz użyć predefiniowanego stylu Word i zastąpić CSS dowolną z jego właściwości.
Można również wyodrębnić wybrane części kodu HTML za pomocą selektorów typu "JQuery".
to potęga pomocne, How to Convert Docx to HTML
można konwertować dokumenty Word docx do HTML za pomocą Print2Flash bibliotekę. Oto fragment PHP ze strony mojego klienta, który konwertuje dokument html:
include("const.php");
$p2fServ = new COM("Print2Flash4.Server2");
$p2fServ->DefaultProfile->DocumentType=HTML5;
$p2fServ->ConvertFile($wordfile,$htmlFile);
Przekształca dokument która ścieżka jest określony w zmiennej $ WordFile do pliku strony HTML określonym przez zmienną $ HTMLFILE. Wszystkie formatowanie, hiperłącza i wykresy są zachowywane. Możesz uzyskać wymagany plik const.php wraz z pełniejszą próbką z Print2flash SDK.
Jeśli nie odmówi REST API, a następnie można użyć:
Przykładowy kod rawText:
$result = $rawText -> parse($your_file)
Twój sposobem jest pójść z [LiveDocx] (http://www.livedocx.com/), będziesz potrzebował [konto] (http://www.livedocx.com/pub/pricing.aspx). Następnie postępuj zgodnie z [poradnikiem] (http://www.phplivedocx.org/2009/08/13/convert-docx-doc-rtf-to-html-in-php/) lub dowiedz się sam, jak możesz użyć [ Zend_Service_LiveDocx] (http://framework.zend.com/manual/en/zend.service.livedocx.html). – mika1
Możesz użyć do tego celu [phpLiveDocx] (http://www.phplivedocx.org/2009/08/13/convert-docx-doc-rtf-to-html-in-php/). – Sarfraz
Nie jestem strasznie znany z php - ale może to może ci pomóc? [phpLiveDocx - Konwersja DOCX do HTML w PHP] (http: //www.phplivedocx.org/2009/08/13/convert-docx-doc-rtf-to-html-in-php /) –