J'utilise iTextSharp
pour extraire des informations d'un fichier PDF. Tout est presque parfait (assez impressionné en fait), j'ai juste quelques problèmes avec quelques mots.iTextSharp: Spécifier l'encodage en faisant GetTextFromPage
Par exemple, dans le PDF, j'ai la phrase suivante:
fin de la Dès soirée, [...]
Quand je regarde le PDF, je vois exactement , mais quand je reçois le texte du code suivant:
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
string currentPageText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
if (currentPageText.Contains(PAGE_MARKER))
{
return currentPageText;
}
}
le texte en question est la suivante:
la fi n Dès de soiréeTendance, [...]
Il est étrange, mais le "fi" sont en fait un seul caractère, et il y a un espace.
Lorsque j'ouvre le même PDF Foxit Reader ou Adobe Acrobat, il cherche bien, mais si je copier coller le texte, j'ai le texte suivant:
Dès la fi n de soiréeTendance, [ ...] (Donc, les caractères corrects mais avec un espace)
C'est un exemple, mais j'en ai un autre.
Une idée pour résoudre ce problème?
Merci pour la très interessting answser. Ceci explique pourquoi j'ai des caractères inattendus, mais le sien n'explique pas les caractères bizarres (comme 'fi' au lieu de' fi' (le premier est un seul caractère en fait)) – J4N
@ J4N * "caractères bizarres (comme' fi '' au lieu de 'fi')" * - ce sont des ligatures, c'est-à-dire des glyphes montrant deux ou trois caractères à la fois; elles existent pour certaines combinaisons de caractères pour lesquelles un glyphe combiné personnalisé est considéré comme nettement meilleur que les glyphes individuels placés les uns à côté des autres. – mkl
Eh bien, en français, ils sont certains d'entre eux qui sont utilisés (comme "œ" au lieu de "oe", mais à part cela, ceux-ci ne sont même pas reconnus dans mon jeu. Est-il possible d'indiquer de ne pas les convertir? "version? Pour avoir la même version que celle du PDF? – J4N