2012-03-18 4 views
2

PHPを使用してMS Word文書から画像を抽出することは可能ですか?そしてもしそうなら、どうですか?PHPを使用してMS Word文書から画像を抽出する最も簡単な方法は?

要件:間違いなく旧式のドキュメントサポートがありますが、古いものと新しいものの両方が好ましくあります。

+2

はい....コードを書いていますか?どのような種類のドキュメントファイルについて話していますか?旧式の.doc、または現代のish .docx? .docxを使うとずっと簡単です。なぜなら、実際にはxmlや他のものを圧縮してしまっているからです。 –

答えて

0

新しいdocx形式を使用している場合は、zipファイルにすぎないため、簡単に達成できます。新しいPHPファイルを作成し、extract.phpとしてそれを名前を付け、その中に次のコードを追加します

http://www.botskool.com/geeks/how-extract-images-docx-files-using-php

+0

オールドスクールの医者... – coderama

+0

あなたは自分自身をどんな友人にもしません@RD –

5

:次のリンクを参照してください。

<?php 

/*Name of the document file*/ 
$document = 'attractive_prices.docx'; 

/*Function to extract images*/ 
function readZippedImages($filename) { 


/*Create a new ZIP archive object*/ 
    $zip = new ZipArchive; 

    /*Open the received archive file*/ 
    if (true === $zip->open($filename)) { 
     for ($i=0; $i<$zip->numFiles;$i++) { 


/*Loop via all the files to check for image files*/ 
      $zip_element = $zip->statIndex($i); 


/*Check for images*/ 
      if(preg_match("([^\s]+(\.(?i)(jpg|jpeg|png|gif|bmp))$)",$zip_element['name'])) { 


/*Display images if present by using display.php*/ 
       echo "<image src='display.php?filename=".$filename."&index=".$i."' /><hr />"; 
      } 
     } 
    } 
} 
readZippedImages($document); 
?> 

今、別のPHPファイルを作成し、display.phpとしてそれを名前を付け、それに次のコードを追加します。

<?php 


/*Tell the browser that we want to display an image*/ 
    header('Content-Type: image/jpeg'); 


/*Create a new ZIP archive object*/ 
    $zip = new ZipArchive; 

    /*Open the received archive file*/ 
    if (true === $zip->open($_GET['filename'])) { 


/*Get the content of the specified index of ZIP archive*/ 
     echo $zip->getFromIndex($_GET['index']); 
    } 

    $zip->close(); 
?> 

ソース(S):Extracting Images from DocX using PHP

+0

docxに変換してこれを使うための解決策はありますか? – coderama

+0

またはRTFに変換し、RTFから画像を抽出します。しかし、どのDOCファイルとあなたが扱っているバージョンをあなたの質問に書いておくべきです。 – hakre

1

あなたはオプションのカップルを持っている古いファイルから画像を抽出している場合。

すべてのファイルをDocXに更新し、IntermediateHackerのコードを使用するコンバータを実行します。

画像を抽出するために必要なVBAコードを見つけ、マクロを作成してPHPのCOMインターフェイス関数を介してこのコードを呼び出すか、これらの関数を使用してコードを自分で呼び出します。

最初に行うことは、VBAでそれを行う方法を見つけることです。これは、PHPでもっと簡単に行うことができます。

関連する問題