2011-05-18 3 views
3

Je veux extraire tous les mots-clés d'un énorme fichier pdf [50MB]? quel module est bon pour analyser de gros fichiers pdf? Je suis préoccupé par la mémoire pour l'analyse de l'énorme fichier & en extrayant presque tous les mots-clés! Ici, je veux genre d'analyse syntaxique SAX [one go parsing] & pas DOM genre de [analogie à XML].quel module est efficace pour analyser un fichier .pdf en une fois? CAM :: PDF ou PDF :: API2

+0

avez-vous essayé les modules que vous avez listés dans le titre? L'un ou l'autre a-t-il mieux fonctionné pour vous? – Mat

+0

Non en tant que tel! J'ai essayé avec CAM :: PDF seulement. –

+0

alors pourquoi ne pas essayer l'autre et voir si ça va mieux? – Mat

Répondre

1

Pour lire le texte d'un PDF, nous utilisons CAM::PDF, et cela a très bien fonctionné. Il n'était pas extrêmement rapide sur certains fichiers plus volumineux, mais la possibilité de gérer de gros fichiers n'était pas mauvaise. Nous en avions certainement quelques-uns qui étaient ~ 100Mb, et qui ont été traités correctement. Si je me souviens bien, nous avons eu quelques problèmes avec 130 Mo sur un Perl 32 bits (Windows), mais nous avions beaucoup d'autres choses en mémoire à ce moment-là. Nous avons regardé PDF::API2, mais il semblait plus orienté vers la génération de PDF que la lecture d'eux. Nous n'avons pas lancé de gros fichiers dans PDF::API2, donc je ne peux pas donner de chiffre de référence réel. Le seul inconvénient majeur que nous avons trouvé en utilisant CAM::PDF est que PDF 1.6 est de plus en plus commun, et cela ne fonctionne pas du tout dans CAM :: PDF pour le moment. Ce n'est peut-être pas un problème pour vous, mais ce pourrait être quelque chose à considérer. En réponse à votre question, je suis à peu près sûr que les deux modules lisent la totalité du PDF source en mémoire sous une forme ou une autre, mais je ne pense pas que CAM::PDF en construise autant de structures plus complexes. Donc, ni l'un ni l'autre n'est similaire à SAX, mais CAM::PDF semble être plus léger en général, et peut récupérer une page à la fois, ce qui pourrait réduire la charge pour l'extraction de très gros textes.

Questions connexes