Mon entreprise reçoit des données d'une société externe via Excel. Nous exportons cela en SQL Server pour exécuter des rapports sur les données. Ils changent maintenant au format PDF, il existe un moyen de porter de manière fiable les données du PDF et d'insérer dans notre base de données SQL Server 2008? P>
Cela nécessiterait-il d'écrire une application ou existe-t-il une manière automatisée de le faire? P>
6 Réponses :
Je pense que vous devrez écrire une demande pour cela. Cette question parle de Extraire des données de PDF . Après cela, vous pouvez exporter les données sur le format Excel afin que vous puissiez conserver le format Import em> existant. P>
Recherchez des informations sur "racler" les données du PDF. Je crois qu'Adobe a quelques outils qui vous permettent de le faire pour un texte simple, mais je ne les ai pas utilisés. P>
Honnêtement, j'essaierais de faire tout ce que vous pouvez pour obtenir ces données dans un format RAW à partir de votre fournisseur. P>
Comme déjà mentionné - vous em> devrez écrire une application pour le faire, mais idéalement, vous seriez en mesure d'obtenir les données brutes de la société externe plutôt que de devoir traiter le PDF. p>
Cependant, si vous do em> voulez extraire les données du fichier PDF, j'ai utilisé ITEXT et l'a trouvé très puissant, fiable et surtout - libre grève>. Il est livré en java et .net flavors - ITEXTSTHARP est la version .NET. Il vous permet de manipuler de manière programmable les documents PDF et il exposera le contenu du PDF à l'application que vous écrivez. P>
ITEXT / ITEXTSTHARP depuis la version 5.0 n'est plus libre
Tout dépend de la manière dont ils ont inclus les données au sein du PDF. De manière générale, il y a deux scénarios possibles ici: p>
Les données ne sont qu'un objet texte dans un fichier PDF. Vous aurez besoin d'utiliser un outil pour extraire le texte du PDF, puis insérez-le dans votre base de données. P> LI>
Les données sont contenues dans les champs de formulaire dans un PDF. Vous aurez besoin d'utiliser un outil pour extraire les données des champs de formulaire et insérez-le dans votre base de données. P> LI> ol>
Scénario espérons que # 2 s'applique à vous parce que c'est précisément ce que les formulaires PDF sont conçus pour. Scénario # 1 n'est vraiment qu'un piratage que vous utilisiez seulement si vous n'aviez pas d'autres options. Extraire du texte brut d'un PDF n'est pas aussi facile ou précis que vous pourriez vous attendre. P>
Si vous recevez un formulaire PDF, tout ce que vous avez à faire est de faire correspondre les bons champs du formulaire PDF avec les champs correspondants de votre base de données, puis sucer les données. Ce processus pourrait être entièrement automatisé si vous avez écrit votre propre application. P>
Cela nécessiterait-il d'écrire une application ou Y a-t-il une manière automatisée de faire Ceci? P> blockQuote>
Oui, ces deux options nécessiteraient d'écrire une application ou d'acheter une application. Si vous écrivez votre propre application, vous devrez trouver une bibliothèque PDF tiers qui prend en charge la récupération de données de champs de formulaire ou extraire du texte à partir d'un fichier PDF. P>
Utilisation ITEXTSTHARP, procédez comme suit
using System; using System.Configuration; using System.Data.SqlClient; using System.IO; using System.Text; using iTextSharp.text.pdf; protected void BtnSubmit_Click(object sender, EventArgs e) { String FilePath = @"GetFilePath"; StringBuilder sb = new StringBuilder(); PdfReader reader = new PdfReader(FilePath); PdfStamper myStamp = new PdfStamper(reader, new FileStream(FilePath + "_TMP", FileMode.Create)); AcroFields form = myStamp.AcroFields; if (form.GetField("GetFieldIdFromPDF") != null) sb.Append(form.GetField("GetFieldIdFromPDF").ToString()); }
Disclaimer: je suis affilié avec les fabricants de byTescout PDF Extractor SDK A> outil em> p>
Je voulais juste partager certains scénarios réels supplémentaires pour l'extraction de données texte à partir de PDF: P>
Pas de réponse précise ici, FERMIN, avez-vous reçu les outils à extraire?
@CallMelann - Ma société est devenue un accord avec la tierce partie qui fournit les données, donc à la fin, je n'étais pas obligé d'écrire quoi que ce soit pour le faire.