Subversion Repositories Sites.tela-botanica.org

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 david 1
<?php
2
 
3
//
4
// Lit un document 'rtf' et extrait son contenu en texte brut
5
//
6
 
7
// NOTE : l'extracteur n'est pas oblige de convertir le contenu dans
8
// le charset du site, mais il *doit* signaler le charset dans lequel
9
// il envoie le contenu, de facon a ce qu'il soit converti au moment
10
// voulu ; dans le cas contraire le document sera lu comme s'il etait
11
// dans le charset iso-8859-1
12
 
13
function extracteur_rtf($fichier, &$charset) {
14
 
15
	$charset = 'iso-8859-1';
16
 
17
	exec('metamail -d -q -b -c application/rtf '.escapeshellarg($fichier), $r, $e);
18
	if (!$e) return join(' ', $r);
19
 
20
	# wvText
21
	# http://wvware.sourceforge.net/
22
	$temp = tempnam(_DIR_CACHE, 'rtf');
23
	exec('wvText '.escapeshellarg($fichier).'> '.$temp, $r, $e);
24
	lire_fichier($temp, $contenu);
25
	@unlink($temp);
26
	if (!$e) return $contenu;
27
 
28
 
29
	# unrtf
30
	# http://www.gnu.org/software/unrtf/unrtf.html
31
	# --html car avec --text les accents sont perdus :(
32
	exec('unrtf --html '.escapeshellarg($fichier), $r, $e);
33
	if (!$e) return join(' ', $r);
34
 
35
	# catdoc
36
	# http://www.45.free.net/~vitus/ice/catdoc/
37
	exec('catdoc '.escapeshellarg($fichier), $r, $e);
38
	if (!$e) return join(' ', $r);
39
 
40
}
41
 
42
// Sait-on extraire ce format ?
43
// TODO: ici tester si les binaires fonctionnent
44
$GLOBALS['extracteur']['rtf'] = 'extracteur_rtf';
45
 
46
?>