We are using version 17.8.
Here’s the code to extract text from the attached pdf:
public IList<string> GetPdfPagesAsStrings(byte[] bytes)
{
var resultPagesContent = new List<string>();
if (bytes == null || bytes.Length == 0)
{
return resultPagesContent;
}
using (var stream = new MemoryStream(bytes))
{
InitializeConverter(); // this just sets the Aspose.Pdf license
// Open document
var pdfDocument = new Document(stream);
for (var i = 0; i < pdfDocument.Pages.Count; i++)
{
var textAbsorber = new TextAbsorber();
textAbsorber.ExtractionOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
textAbsorber.TextSearchOptions.LimitToPageBounds = true;
var page = pdfDocument.Pages[i + 1];
page.Accept(textAbsorber);
var pageText = textAbsorber.Text;
resultPagesContent.Add(pageText);
}
return resultPagesContent;
}
}
Text from page 1 - notice the space after the accent in “obste´ tricales”:
Morbidite´ maternelle grave par causes\r\nobste´ tricales directes en Afrique de l’Ouest :\r\nincidence et le´ talite´\r\nA. Prual,1 M.-H. Bouvier-Colle,2 L. de Bernis,3 G. Bre´art4 et le groupe MOMA5\r\nLes donne´es sur la morbidite´ maternelle permettent d’e´valuer le nombre des femmes susceptibles de re´clamer des\r\nsoins obste´tricaux essentiels, et d’organiser, de surveiller et d’e´valuer les programmes de maternite´ sans risque. Le\r\npre´sent article propose des de´finitions ope´rationnelles de la morbidite´ maternelle grave et fournit des donne´es sur la\r\nfre´quence de cette morbidite´ telle qu’elle ressort d’une enqueˆte en population portant sur une cohorte de\r\n20 326 femmes enceintes dans six pays d’Afrique occidentale. La meˆmeme´thodologie et les meˆmes questionnaires\r\nont e´te´ utilise´ s dans toutes les zones. Chaque femme enceinte a e´te´ en contact a quatre reprises avec l’e´ quipe\r\nd’enqueˆte : au moment de son enroˆ lement dans l’e´tude, entre la 32e et la 36e semaines d’ame´norrh e´ e, pendant\r\nl’accouchement et 60 jours apre
s l’accouchement. Des causes obste´tricales directes de morbidite´ grave ont e´te´\r\nobserve´es chez 1215 femmes (6,17 cas pour 100 naissances vivantes). Ce rapport varie sensiblement selon les zones,\r\nde 3,01 % a Bamako a
9,05 % a Saint-Louis. Les principales causes obste´tricales directes de morbidite´ maternelle\r\ngrave sont les suivantes : he´morragie (3,05 pour 100 naissances vivantes) ; dystocie (2,05 %), dont 23 cas de rupture\r\nute´rine (0,12 %) ; hypertension gravidique (0,64 %), dont 38 cas d’e´clampsie (0,19 %) et infection (0,09 %). Les\r\nautres causes obste´tricales directes repre´sentent 12,2 % des cas. Les taux de le´talite´ sont tre
se´leve´s pour l’infection\r\n(33,3 %), la rupture ute´rine (30,4 %) et l’e´clampsie (18,4 %) ; la le´talite´ lie´e a l’he´ morragie oscille entre 1,9 %\r\n(he´morragie de l’ante-partum et du per-partum) et 3,7 % (de´collement pre´mature´ du placenta). C’est ainsi que 3 a
\r\n9 % des femmes enceintes, au moi
ns, requierent des soins obste´tricaux essentiels. Les taux de le´ talite´e´leve´s,\r\nenregistre´s pour plusieurs complications, refle
tent la mauvaise qualite´ des soins obste´tricaux.\r\nArticle publie´ en anglais dans Bulletin of the World Health Organization, 2000, 78 (5) : 593-602.\r\nIntroduction\r\nL’initiative pour la maternite´ sans risque, lance´e en\r\n1987, avait pour objectif de re´duire de moitie´la\r\nmortalite´ maternelle avant l’an 2000 (1, 2).Une\r\nde´cennie plus tard, les estimations de la mortalite´\r\nmaternelle en Afrique subsaharienne ne faisaient\r\napparaıˆtre aucune ame´lioration alors qu’un groupe\r\nd’experts avait estime´ en 1985 que 88-98 % des de´ces\r\nmaternels pouvaient eˆtre e´vite´s, meˆme dans les\r\nconditions qui caracte´risaient alors la plupart des pays\r\nen de´veloppement (3, 4).\r\nEn Afrique de l’Ouest, certaines donne´es\r\nestimaient a
1020 pour 100 000 naissances vivantes\r\nle nombre des de´ces maternels, soit 38 fois plus que\r\ndans des re´gions plus de´ veloppe´es (3).Bien que leur\r\nutilite´ soit de plus en plus reconnue, les donne´es\r\nconcernant l’incidence et les caracte´ristiques de la\r\nmorbidite´a
l’origine de ces taux e´leve´s sont\r\nextreˆmement rares (5-9).Les donne ´es sur la\r\nmorbidite´ sont d’une importance capitale pour les\r\nde´cideurs et les planificateurs sanitaires, qui doivent\r\nsavoir combien de femmes requierent des soins\r\nobste´tricaux essentiels.De plus, en raison de la\r\ncomplexite´ des mesures a
effectuer, les taux de\r\nmortalite´ maternelle ne permettent guere d’e´valuer la\r\nre´ussite des programmes (10, 11).Les donne´es sur la\r\nmorbidite´ maternelle sont suppose´es eˆtre de meil-\r\nleurs indicateurs pour la conception, la surveillance, le\r\nsuivi et l’e´valuation des programmes de maternite´\r\nsans risque.Elles proviennent le plus souvent\r\nd’e´tudes hospitalie
res et sont, non pas prospectives\r\nmais re´trospectives (5, 12).Il y a peu encore, les\r\nestimations des sche´mas de morbidite´ maternelle\r\ne´tai
ent fonde´es sur une petite e´tude en population\r\nre´alise´e dans une communaute´ rurale en Inde (13).\r\nCes dernieres anne´es, plusieurs e´tudes ont e´te´\r\nconc¸ues pour e´valuer la fiabilite´ des donne´es relatives\r\na
la morbidite´ maternelle obtenues au moyen\r\nd’entretiens avec les femmes et les sages-femmes\r\ndans la communaute´(14-17).Il apparaıˆt maintenant\r\nque les re´sultats obtenus a partir des donne´es issues\r\nd’entretiens ne sont pas suffisamment valables\r\n1 Conseiller, Direction de la Planification, de la Coope´ration et de la\r\nStatistique, Ministe
re de la Sante´ et des Affaires Sociales (Mauritanie).\r\n2 Directeur de Recherches, Institut National de la Sante´etde\r\nla Recherche Me´dicale (INSERM), Unite´ 149, Recherches\r\ne´pide´miologiques en sante´pe´rinatale et sante´ des femmes,\r\n123, bd de Port-Royal, 75014 Paris (France) (me´l. : bouvier-colle\r\n@cochin.inserm.fr). (Correspondance)\r\n3 Ancien Conseiller, Direction de la Sante´ maternelle et infantile,\r\nMiniste`
re de la Sante´ et des Affaires sociales, Dakar (Se´ne´gal).\r\n4 Professeur des Universite´s-Praticien Hospitalier, Universite´ Paris VI\r\net Directeur de l’Unite´ 149, Institut National de la Sante´etdela\r\nRecherche Me´dicale (INSERM), Paris (France).\r\n5 Voir p. 136, Remerciements.\r\nRe´f.:99-0351\r\n129Bulletin de l’Organisation mondiale de la Sante´ # Organisation mondiale de la Sante´, 2000\r\nRecueil d’articles No 3, 2000
French.pdf (253.0 KB)
We also need each segment StartCharIndex and EndCharIndex to represent the running index of all characters on the page rather than per line break. Is this possible? Here’s a snippet of that code.
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber(@"[\S]+", new TextSearchOptions(true));
textFragmentAbsorber.ExtractionOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
textFragmentAbsorber.TextSearchOptions.LimitToPageBounds = true;
var page = pdfDocument.Pages[pageNumber];
page.Accept(textFragmentAbsorber);
var textFragmentCollection = textFragmentAbsorber.TextFragments;
This too has the problem with the extra space so for example, instead of a single segment with Text=“obste´tricales”, it is split into 2 segments with text = “obste” and “tricales”.
So, I am looking for 2 things:
- words with an accent be treated as a single word
- segment StartCharIndex and EndCharIndex be a running index of the text on the page instead of per line break.
thanks,