Bonjour,
Je ne trouve pas de réponse précise sur le sujet sur internet.
Est-il possible d'utiliser Apache Tika en php?
Etant donné que l'API est en Java, comment l'utiliser en php?
Cordialement,
Uruca
Bonjour,
Je ne trouve pas de réponse précise sur le sujet sur internet.
Est-il possible d'utiliser Apache Tika en php?
Etant donné que l'API est en Java, comment l'utiliser en php?
Cordialement,
Uruca
Bonjour,
Ceci correspondra peut-être à ce que tu recherches :
https://github.com/pierroweb/PhpTikaWrapper
Merci, je l'avais trouvé sur internet, il m'a l'air complet mais le tuto d’installation ce fait sous linux, comment je l'installe avec des commandes comme "php composer.phar install" sous windows?
Il n'y a pas de bibliothèque officiel de Apache Tika? comme http://php.net/manual/fr/book.solr.php pour solr par exemple.
Composer fonctionne aussi sous windows (même si c'est carrément moinsbienuser friendly) : https://getcomposer.org/download/
Un message utile vous a aidé ? N'oubliez pas le
www.simplifions.fr - Simplifier vos comptes entre amis !
C'est fait, merci
Il y a un passage que je ne comprends pas au début.
"Add the package dependency enzim/tika-wrapper in your composer.json"
Je dois faire ce require dans quel composer.json?
Celui donné dans son github?
Le code sur github ne fonctionne pas tout seul.
Tu l'ajoutes à un projet qui lui doit utiliser composer. Il doit donc avoir un fichier composer.json, dans lequel il te suffit d'indiquer la ligne indiquée pour utiliser cette librairie (c'est le principe de composer en fait, gérer des librairies).
Un message utile vous a aidé ? N'oubliez pas le
www.simplifions.fr - Simplifier vos comptes entre amis !
De plus, je n'ai pas de "enzim/tika-wrapper" au root de mon fichier test.
PS: Je n'utilise pas de framework
D'accord.
Et si je n'ai pas de projet pré-existant ? (je pars de zéro) c'est un fichier test.
En gros j'ai mon fichier "test" avec un index.php et phpTikaWrapper-master.
Je crée un fichier composer.json à la racine?
Utiliser un framework ou non ne change rien.
Faudrait lire un peu la doc, pour savoir à quoi il sert et comment il marche (même si c'est pas compliqué...)
https://getcomposer.org/doc/00-intro.md#autoloading
https://getcomposer.org/doc/
Un message utile vous a aidé ? N'oubliez pas le
www.simplifions.fr - Simplifier vos comptes entre amis !
Ok. Mais c'est quoi l'utilité d'utiliser un gestionnaire de librairie comme composer?
Bon au final, j'ai fait dans la racine un fichier composer.json où j'y est écrit la bibliotèque {
"require": {
"enzim/tika-wrapper": "*"
}
}
Envoyé par Doc de composer
Un message utile vous a aidé ? N'oubliez pas le
www.simplifions.fr - Simplifier vos comptes entre amis !
ok.
Donc j'ai installé en faisant composer install, mais le soucis c'est qu'il me dit "the request package enzim/tika-wrapper could not found in any version", il n'y a rien sur internet qui traite de cette erreur. Donc je suppose que j'ai du oublier une étape.
Es ce parce que je n'ai mis nul part encore "require 'vendor/.composer/autoload.php';"? mais le dossier "vendor" devrait se créer quand je fais mon install non?
En effet, il y a une erreur sur le ReadMe du github, met ceci plutôt dans ton composer.json :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 { "require": { "enzim/tika-wrapper": "dev-master" } }
Un message utile vous a aidé ? N'oubliez pas le
www.simplifions.fr - Simplifier vos comptes entre amis !
ok merci. Y-a t-il un moyen de poster un commentaire sur son github ou de prévenir l'auteur? Je ne trouve pas.
J'ai une erreur sur l'un de mes téléchargement, "failed to dowload enzim/tika-wrapper from source" [...] "'git' n'est pas reconnu en tant que commande interne ou externe".
mais après ca m'écrit installing enzim/tika-wrapper dowloading:100%
Ça a fonctionné?
De plus, j'ai utilisé son code pour testé mais dans "composer" il n'y a pas "autoload.php", il est dans "vendor".
Dans composer j'ai "autoload_classmap.php", "autoload_namespaces.php","autoload_psr4p.php", "autoload_real.php","ClassLoader.php","installed.json",
Il faudrait que tu installes git sur ton pc (mais je sais pas si c'est obligatoire pour que ça marche, a priori je dirais que ça a fonctionné).
C'est normal que l'autoload soit dans le vendor, c'est le seul fichier que tu as à inclure pour pouvoir utiliser la librairie.
Un message utile vous a aidé ? N'oubliez pas le
www.simplifions.fr - Simplifier vos comptes entre amis !
Son code "require 'vendor/.composer/autoload.php';" est donc incorrect. C'est plutôt "require 'vendor/autoload.php';".
Bref, on avance, j'ai une erreur "Class 'Enzim\Lib\TikaWrapper\TikaWrapper' not found in"[...]
Le chemin de tika est "C:\wamp\www\test\vendor\enzim\tika-wrapper\Enzim\Lib\TikaWrapper".
Je ne trouve pas dans les dossiers où se trouve cette class TikaWrapper
Dans "src" elle se trouve.
Tu utilises bien les namespaces ?
Un message utile vous a aidé ? N'oubliez pas le
www.simplifions.fr - Simplifier vos comptes entre amis !
Ha oui pardon, TikaWrapper.php est bien dans src.
Oui mon index.php contient :
<?php
require 'vendor/autoload.php';
use Enzim\Lib\TikaWrapper\TikaWrapper;
$testFile = __DIR__."/test.odt";
$plaintext = TikaWrapper::getText($testFile);
//$metadataArray = TikaWrapper::getMetaData($testFile);
//$language = TikaWrapper::getLanguage($testFile);
var_dump($plaintext);
J'ai toujours cette erreur. Je suppose que c'est le "use Enzim\Lib\TikaWrapper\TikaWrapper;" qui bug mais j'ai essayé d'autres chemins j'arrive pas a faire fonctionner cette class qu'il ne reconnait pas.
Je n'utilise donc pas de namespace
As-tu des idées? car je suis à court.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager