La réponse fournie par Brock Nusser ressemble à la solution la plus à jour et devrait être considérée comme la bonne réponse à cette question
ceetheman
Des réponses iTextSharp plus mises à jour ici puisque cette question est fermée.
VDWWD le
Réponses:
116
Depuis la dernière réponse à cette question en 2008, iTextSharp a considérablement amélioré son API. Si vous téléchargez la dernière version de leur API à partir de http://sourceforge.net/projects/itextsharp/ , vous pouvez utiliser l'extrait de code suivant pour extraire tout le texte d'un pdf dans une chaîne.
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
namespace PdfParser{publicstaticclassPdfTextExtractor{publicstaticstring pdfText(string path){PdfReader reader =newPdfReader(path);string text =string.Empty;for(int page =1; page <= reader.NumberOfPages; page++){
text +=PdfTextExtractor.GetTextFromPage(reader,page);}
reader.Close();return text;}}}
bonjour ceetheman, j'ai essayé d'utiliser le code que vous avez fourni ci-dessus ... mais j'ai un problème. mes certains fichiers pdf sont lus correctement mais dans certains fichiers pdf, j'ai eu l'erreur "Index Out of Range" dans la fonction "CheckToken". pouvez-vous s'il vous plaît m'aider à résoudre ce problème?
Radhi
18
Faire référence à la source de votre exemple est une bonne idée polie. Dans ce cas, le même code source peut être trouvé ici codeproject.com/KB/cs/PDFToText.aspx
Myster
2
J'ai des problèmes avec ce code, il retourne gobledegook composé des lettres r et n. J'ai utilisé PDFBox à la fin.
Myster
Tellement bizarre ... j'ai branché mon pdf et j'ai 1627 lignes vides dans mon fichier texte ...
Ortund
1
La réponse fournie par Brock Nusser ressemble à la solution la plus à jour et doit être considérée comme la bonne réponse à cette question.
ceetheman
6
publicstringReadPdfFile(objectFilename,DataTableReadLibray){PdfReader reader2 =newPdfReader((string)Filename);string strText =string.Empty;for(int page =1; page <= reader2.NumberOfPages; page++){ITextExtractionStrategy its =new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy();PdfReader reader =newPdfReader((string)Filename);String s =PdfTextExtractor.GetTextFromPage(reader, page, its);
s =Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default,Encoding.UTF8,Encoding.Default.GetBytes(s)));
strText = strText + s;
reader.Close();}return strText;}
Ce n'est pas un port officiel, et le lien est de toute façon rompu. Le port officiel .NET d'iText, iTextSharp, peut être trouvé sur GitHub: github.com/itext/itextsharp
Aussi: "Pour le moment, libHaru ne prend pas en charge la lecture et l'édition de fichiers PDF existants et il est peu probable que ce support apparaisse un jour." Est-ce vraiment pertinent?
TernaryTopiary
0
Jetez un œil à la bibliothèque Docotic.Pdf . Il ne vous oblige pas à ouvrir le code source de votre application (comme iTextSharp avec une licence virale AGPL 3, par exemple).
Docotic.Pdf peut être utilisé pour lire des fichiers PDF et extraire du texte avec ou sans formatage. Veuillez consulter l'article qui montre comment extraire du texte à partir de PDF .
Clause de non-responsabilité: je travaille pour Bit Miracle, fournisseur de la bibliothèque.
Réponses:
Depuis la dernière réponse à cette question en 2008, iTextSharp a considérablement amélioré son API. Si vous téléchargez la dernière version de leur API à partir de http://sourceforge.net/projects/itextsharp/ , vous pouvez utiliser l'extrait de code suivant pour extraire tout le texte d'un pdf dans une chaîne.
la source
PdfTextExtractor
car elle entrera en conflit avec celle deiTextSharp.text.pdf.parser
iTextSharp est le meilleur pari. Je l'ai utilisé pour créer une araignée pour lucene.Net afin qu'il puisse explorer le PDF.
la source
la source
PDFClown peut aider, mais je ne le recommanderais pas pour une application à grande ou forte utilisation.
la source
iText est la meilleure bibliothèque que je connaisse. Initialement écrit en Java, il existe également un port .NET.
Voir http://www.ujihara.jp/iTextdotNET/en/
la source
Vous pouvez consulter ceci: http://www.codeproject.com/KB/showcase/pdfrasterizer.aspx Ce n'est pas complètement gratuit, mais ça a l'air très bien.
Alex
la source
http://www.c-sharpcorner.com/UploadFile/psingh/PDFFileGenerator12062005235236PM/PDFFileGenerator.aspx est open source et peut être un bon point de départ pour vous.
la source
aspose pdf fonctionne plutôt bien. puis encore, tu dois payer pour ça
la source
je Texte?
http://www.itextpdf.com/terms-of-use/index.php
Guider
http://www.vogella.com/articles/JavaPDF/article.html
la source
Il y a aussi LibHaru
http://libharu.org/wiki/Main_Page
la source
Jetez un œil à la bibliothèque Docotic.Pdf . Il ne vous oblige pas à ouvrir le code source de votre application (comme iTextSharp avec une licence virale AGPL 3, par exemple).
Docotic.Pdf peut être utilisé pour lire des fichiers PDF et extraire du texte avec ou sans formatage. Veuillez consulter l'article qui montre comment extraire du texte à partir de PDF .
Clause de non-responsabilité: je travaille pour Bit Miracle, fournisseur de la bibliothèque.
la source