Documento index.php
<?php
require_once 'doc2txt.class.php';
//Documento con contenido
$objetoDocumento = new Doc2Txt("test.pdf");
$textoString = $objetoDocumento->convertToText();
//imprimo en pantalla el resultado (indicando al HTML que el contenido esta preformateado)
//Documento inicial
$origen = 'copy.odt';
//Documento inicial
$origen2 = 'test.pdf';
// 1) Documento de salida
$URLdo_a_conv1 = 'copy.docx';
// 2) Documento de salida
$URLdo_a_conv2 = 'copy.txt';
// 3) Documento de salida
$URLdo_a_conv3 = 'copy2.docx';
//copy($origen, "copy.docx");
//copiar documentos de un mismo formato con imagenes
//Obtener texto
$actual = file_get_contents($origen2);
//escribir texto, incluye imagen
file_put_contents($URLdo_a_conv3, $actual);
//==============================================================
//pasar documento a texto plano
//Abrir documento en modo escritura
$fp = fopen($URLdo_a_conv2, 'w');
//escribir texto
fwrite($fp, $textoString);
//Cerrar documento
fclose($fp);
echo '<pre>';
echo $textoString;
echo '</pre>';
?>
Documento index.php
<?php
/*
this class is used to convert any doc,docx file to simple text format.
author: Gourav Mehta
author's email: gouravmehta@gmail.com
author's phone: +91-9888316141
*/
class Doc2Txt {
private $filename;
public function __construct($filePath) {
$this->filename = $filePath;
}
private function read_doc() {
$fileHandle = fopen($this->filename, "r");
$line = @fread($fileHandle, filesize($this->filename));
$lines = explode(chr(0x0D),$line);
$outtext = "";
foreach($lines as $thisline)
{
$pos = strpos($thisline, chr(0x00));
if (($pos !== FALSE)||(strlen($thisline)==0))
{
} else {
$outtext .= $thisline." ";
}
}
$outtext = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)]/","",$outtext);
return $outtext;
}
private function read_docx(){
$striped_content = '';
$content = '';
$zip = zip_open($this->filename);
if (!$zip || is_numeric($zip)) return false;
while ($zip_entry = zip_read($zip)) {
if (zip_entry_open($zip, $zip_entry) == FALSE) continue;
if (zip_entry_name($zip_entry) != "word/document.xml") continue;
$content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
zip_entry_close($zip_entry);
}// end while
zip_close($zip);
$content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content);
$content = str_replace('</w:r></w:p>', "\r\n", $content);
$striped_content = strip_tags($content);
return $striped_content;
}
public function convertToText() {
if(isset($this->filename) && !file_exists($this->filename)) {
return "File Not exists";
}
$fileArray = pathinfo($this->filename);
$file_ext = $fileArray['extension'];
if($file_ext == "doc" || $file_ext == "docx" || $file_ext == "pdf")
{
if($file_ext == "doc") {
return $this->read_doc();
} else {
return $this->read_docx();
}
} else {
return "Invalid File Type";
}
}
}
?>