J'utilise le .net de PDFBox pour analyser pour extraire le texte d'un texte pdf alongwith location.For que, lors de la recherche que j'ai trouvé le code java suivant:Impossible de remplacer PDFTextStripper.writeString (chaîne de caractères, liste <TextPosition> textPositions) à l'aide de C#?
PDFTextStripper stripper = new PDFTextStripper()
{
@Override
protected void writeString(String text, List<TextPosition> textPositions) throws IOException
{
super.writeString(text, textPositions);
TextPosition firstProsition = textPositions.get(0);
TextPosition lastPosition = textPositions.get(textPositions.size() - 1);
writeString(String.format("[%s - %s/%s]", firstProsition.getXDirAdj(), lastPosition.getXDirAdj() + lastPosition.getWidthDirAdj(), firstProsition.getYDirAdj()));
}
};
stripper.setSortByPosition(true);
return stripper.getText(document);
Je me suis converti à .net de la façon suivante:
class PDFTextLocationStripper : PDFTextStripper
{
public string textWithPostion = "";
protected override void processTextPosition(TextPosition text)
{
textWithPostion += "String[" + text.getXDirAdj() + "," +
text.getYDirAdj() + " fs=" + text.getFontSize() + " xscale=" +
text.getXScale() + " height=" + text.getHeightDir() + " space=" +
text.getWidthOfSpace() + " width=" +
text.getWidthDirAdj() + "]" + text.getCharacter();
}
protected override void writeString(java.lang.String text, java.util.List textPositions)
{
base.writeString(text, textPositions);
TextPosition firstProsition = (TextPosition)textPositions.get(0);
TextPosition lastPosition =(TextPosition) textPositions.get(textPositions.size() - 1);
writeString(String.Format("[%s - %s/%s]", firstProsition.getXDirAdj(), lastPosition.getXDirAdj() + lastPosition.getWidthDirAdj(), firstProsition.getYDirAdj()));
}
}
Mais, je reçois une erreur de compilation pour le code ci-dessus que:
erreur 1 Aucune surcharge pour la méthode 'writeString' prend 2 arguments
Erreur 2 'PDFTextLocationStripper.writeString (java.lang.String, java.util.List)': pas de méthode appropriée trouvée pour remplacer
Alors, comment puis-je passer outre méthode writeString pour que je puisse extraire texte avec l'emplacement?