php wordden metin okuma

PHP ile bir Word belgesinden metin okumak için birkaç seçeneğiniz vardır. İşte iki yaygın yöntem:

Yöntem 1: PHPWord Kütüphanesi

  1. İlk olarak, PHPWord kütüphanesini projenize dahil etmelisiniz. Kütüphanenin resmi GitHub sayfasından son sürümü indirebilirsiniz: PHPWord GitHub
  2. Zip dosyasını indirip çıkartın ve projenizin dizinine taşıyın.
  3. Aşağıdaki gibi bir örnek kodu kullanarak Word belgesinden metin okuyabilirsiniz:
<?php
require 'PHPWord/vendor/autoload.php'; // PHPWord kütüphanesini dahil edin

use PhpOffice\PhpWord\IOFactory;

// Word belgesinin yolunu belirtin
$wordBelgesi = 'belge.docx';

// Word belgesini yükle
$phpWord = IOFactory::load($wordBelgesi);

// Metinleri oku
$metinler = $phpWord->getSections()[0]->getElements()[0]->getText();

// Metinleri ekrana yazdır
echo $metinler;
?>

Yukarıdaki örnekte, belge.docx olarak belirtilen Word belgesini yüklüyoruz ve belgedeki metinleri alıyoruz. Sonrasında, metinleri ekrana yazdırıyoruz.

Yöntem 2: Pure PHP ile Docx Dosyası Okuma

Bu yöntemde PHPWord kütüphanesini kullanmadan, sadece PHP’nin temel işlevlerini kullanarak docx dosyasından metin okuyabilirsiniz. Ancak, bu yöntem daha karmaşık ve daha az esnek olabilir.

<?php
function extractTextFromDocx($docxFile) {
    $content = '';

    if (file_exists($docxFile)) {
        $zip = new ZipArchive;
        if ($zip->open($docxFile)) {
            for ($i = 0; $i < $zip->numFiles; $i++) {
                $entryName = $zip->getNameIndex($i);
                $extension = pathinfo($entryName, PATHINFO_EXTENSION);

                if ($extension == 'xml') {
                    $data = $zip->getFromIndex($i);
                    $xml = new DOMDocument();
                    $xml->loadXML($data);
                    $content .= $xml->textContent;
                }
            }
            $zip->close();
        }
    }

    return $content;
}

// Word belgesinin yolunu belirtin
$wordBelgesi = 'belge.docx';

// Metinleri oku
$metinler = extractTextFromDocx($wordBelgesi);

// Metinleri ekrana yazdır
echo $metinler;
?>

Yukarıdaki örnekte, extractTextFromDocx işlevi, docx dosyasını açar ve içindeki xml dosyalarını tarar. Metin içeriğini okur ve birleştirir. Ardından, bu metinleri ekrana yazdırır.

Önemli: Belirtilen yöntemlerle sadece metin içeriği okunabilir. Word belgesindeki diğer biçimlendirmeler veya görseller okunmaz. Ayrıca, kullandığınız Word belgesinin uygun bir docx formatına sahip olduğundan emin olun.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *