Export in pdf e stream del testo

mercoledì 30 luglio 2008 - 07.44

slackewix Profilo | Newbie

ciao a tutti, ho un problemino di questo tipo: su un programma il report da crystal (10) viene esportato in pdf. Da questo file esportato dovrei riuscire ad identificare alcune parole chiave all'interno della pagina, quindi ho pensato di fare uno stream dal testo.
Per convertire il pdf in testo ho provato con la itextsharp.dll, ma mentre su altri pdf funziona, su quelli prodotti da crystal mi ritorna sempre uno stream vuoto. Ora se non sbaglio crystal nella conversione in pdf utilizza dei tag particolari. Qualcuno ha un'idea di come ovviare a questo problema?
grazie

freeteo Profilo | Guru

ciao,
che codice hai scritto? se puoi postarlo così analizziamo...

Io ad esempio ho usato questo:
StringBuilder sb = new StringBuilder(); PdfReader reader = new PdfReader(File.ReadAllBytes("...file...")); for (int i = 1; i <= reader.NumberOfPages; i++) { byte[] bytes = reader.GetPageContent(i); bool inserire = false; foreach (byte item in bytes) { char c = (char)item; if (c == '(') { inserire = true; continue; } if (c == ')') inserire = false; else if(inserire) sb.Append(c); } }

e in "sb.ToString()" avevo il testo di ogni pagina, non è proprio preciso, ma nel mio caso andava bene.
L'ho provato con un report esportato in pdf da Crystal e funziona, nel tuo report un codice di questo tipo non funziona?

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

slackewix Profilo | Newbie

ciao, grazie della risposta. Il codice che uso è molto simile al tuo, con l'unica differenza che butto fuori tutto su un file di testo con uno streamwriter. La cosa strana è che mi saltano fuori tutta una serie di numeri e simboli che niente c'entrano con il pdf originale:

!"#$%%"&'\&\,-*.'$./"\!"#%$&'$&\+\12&*+\3\."%$*+\3\."%&+$12\\2$2,2\2$2&+$12-"3\."\\2$2,2\2$2&+$12+\12&*+\3\.
"%$*+\3\."%&+$12-"3\."!"#$%&!'\\45266425789:87;#445266426789:878#445266426795<<:6#445266425795<<:<#4*!+;
526672\64<456;16;5266:2\64<456;16;5266:2\64<456816;526672\64<456816;5266=2\64<456916;5266=2\64<4567165 ecc.

allego il pdf originale tanto per conoscenza
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5