2008-11-27 5 views
4

Il existe ce programme, pdftotext, qui permet de convertir un fichier pdf en fichier texte. Pour l'utiliser directement sur la console linux:Conversion de fichiers pdf en fichiers txt avec php

pdftotext file.pdf 

Cela va générer un fichier.txt sur le même répertoire que le fichier pdf. Je cherchais un moyen de le faire à l'intérieur d'un programme php, et après quelques recherches, j'ai terminé avec deux commandes qui devraient fonctionner pour moi: system() et exec(). J'ai donc fait un fichier php avec ceci:

<?php 
    system('pdftotext file.pdf'); 
?> 

Mais quand j'exécute ce code, ça ne marche pas. Aucun fichier txt n'est créé. J'ai donc essayé de créer un fichier de test avec une autre commande:

<?php 
    system('touch test.txt'); 
?> 

Cela a bien fonctionné. J'ai aussi utilisé exec() et les résultats étaient les mêmes. Pourquoi ça ne marche pas?

EDIT: suivant les conseils RoBorg, i ajoute l'argument 2> & 1 à la commande, de sorte que:

<?php 
    system('pdftotext file.pdf 2>&1'); 
?> 

faire imprimer un message d'erreur:

pdftotext: erreur pendant le chargement partagé bibliothèques: libfontconfig.so.1: ne peut pas ouvrir le fichier d'objet partagé: aucun fichier ou répertoire

Apparemment, quelque chose manque sur le serveur.

Répondre

5

Il est probablement un problème d'autorisations, mais essayez ceci:

<?php 
    system('pdftotext file.pdf 2>&1'); 
?> 

Le 2>&1 redirige stderr vers stdout, de sorte que tous les messages d'erreur seront imprimés. Il devrait être assez facile de réparer à partir de là.

+0

il a imprimé un message d'erreur "pdftotext: erreur lors du chargement des bibliothèques partagées: libfontconfig.so.1: impossible d'ouvrir le fichier d'objet partagé: Aucun fichier ou répertoire" puisque je n'ai pas accès root à le serveur, je suppose qu'il n'y a rien que je puisse faire. –

0

PHP a une construction dans la bibliothèque de fonctions PDF, qui devrait être en mesure de vous donner ce que vous avez besoin:
http://nl3.php.net/pdf

+1

On dirait que cette bibliothèque est principalement destinée à la sortie de fichiers PDF. Ce que j'ai besoin est l'inverse –

Questions connexes