J'ai un gros fichier PDF qui est une carte pour un bâtiment. Il comporte des couches pour tous les meubles de bureau, y compris les zones de texte indiquant l’emplacement du siège.
Mon objectif est de lire ce fichier avec PHP, de rechercher dans le document des calques de texte, d’obtenir leur contenu et leurs coordonnées dans le fichier. De cette façon, je peux tracer les emplacements des sièges -> coordonnées x/y.
Est-il possible de le faire via PHP? (Ou même Ruby ou Python si c'est ce qui est nécessaire)
Découvrez FPDF (avec FPDI):
http://www.setasign.de/products/pdf-php-solutions/fpdi/
Cela vous permettra d’ouvrir un pdf et d’y ajouter du contenu en PHP. J'imagine que vous pouvez également utiliser leurs fonctionnalités pour rechercher dans le contenu existant les valeurs dont vous avez besoin.
Une autre bibliothèque possible est TCPDF: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf
Mise à jour pour ajouter une bibliothèque plus moderne: PDF Parser
Il existe une bibliothèque php (pdfparser) qui fait exactement ce que vous voulez.
site web du projet
github
https://github.com/smalot/pdfparser
Page de démonstration/api
Après avoir inclus pdfparser dans votre projet, vous pouvez obtenir tout le texte de mypdf.pdf
comme suit:
<?php
$parser = new \installpath\PdfParser\Parser();
$pdf = $parser->parseFile('mypdf.pdf');
$text = $pdf->getText();
echo $text;//all text from mypdf.pdf
?>
Simular vous pouvez obtenir les métadonnées du fichier pdf ainsi que les objets pdf (par exemple, des images).
Hmm ... pas exactement php, mais vous pouvez appeler un programme depuis php pour convertir le pdf en fichier HTML temporaire, puis analyser le fichier résultant avec php. J'ai fait quelque chose de similaire pour un de mes projets et voici le programme que j'ai utilisé:
Ce qui est génial avec le programme, c'est qu'il va cracher les éléments de texte dans les balises <div> avec les coordonnées de position absolue. Il semble que c'est exactement ce que vous essayez de faire.
votre demande initiale est "J'ai un gros fichier PDF qui est une carte pour un bâtiment".
J'ai peur de vous dire que cela pourrait être plus difficile que vous ne le pensez.
Cause la dernière bibliothèque connue utilisée par tout le monde pour analyser les fichiers pdf est petite, et on sait que celui-ci rencontre des problèmes concernant les fichiers volumineux.
Ici aussi, on cherche une vraie bibliothèque php pour analyser le pdf, sans aucun pic de mémoire nécessitant une configuration php pour désactiver la limite de mémoire comme le font beaucoup de "développeurs" (ce qui, à mon avis, n'est vraiment pas conseillé).
voir ce post pour plus de détails sur les performances de smalot: https://github.com/smalot/pdfparser/issues/163
Vous voudrez peut-être aussi essayer cette application http://pdfbox.Apache.org/ . Un exemple de travail peut être trouvé à https://www.jinises.com