Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Extraer texto de un estado de cuenta bancario (https://www.clubdelphi.com/foros/showthread.php?t=96231)

pgranados 16-05-2023 17:18:01

Extraer texto de un estado de cuenta bancario
 
Buen día, ¿existe alguna forma de extraer el texto de un estado de cuenta bancario? necesito extraer el detalle de los movimientos.

Veo que existen apis para pasar el PDF a un txt o a un archivo de excel pero no se si tambien exista un componente o libreria en Delphi que haga esto

No encontre mucha información al respecto sobre esto, los posts son muy viejos :eek:

Si alguien conoce algún metodo puede compartirmelo por favor? Saludos. :D

mRoman 16-05-2023 18:05:31

Hola que tal pGranados.

En este link hablan al respecto https://www.clubdelphi.com/foros/showthread.php?t=92544

Y aparte, existe un componente para Delphi llamado DebenuPDFLibrary1811 (Quick PDF Library) que hace eso que quieres, deberías "googlearlo".

Espero te sirva. Saludos.

pgranados 17-05-2023 00:31:05

Cita:

Empezado por mRoman (Mensaje 551500)
Hola que tal pGranados.

En este link hablan al respecto https://www.clubdelphi.com/foros/showthread.php?t=92544

Y aparte, existe un componente para Delphi llamado DebenuPDFLibrary1811 (Quick PDF Library) que hace eso que quieres, deberías "googlearlo".

Espero te sirva. Saludos.

Hola Roman, buen día, ¿tendrás algún ejemplo de uso del QuickPDFLibrary? Veo que es de paga, ¿sabrás si existe una versión trial? Saludos.

bosoft 17-05-2023 09:48:05

Creo que tienes otras solucionas "más simples" para extraer los movimientos de una cuenta bancaria.
Cuando pides un extracto de movimientos online, casi todas las entidades disponen para descargar en formato Excel.

Pero lo mejor es descargar en formato CBS43. Para este último, pregunta en tu sucursal


Saludos

Casimiro Notevi 17-05-2023 14:29:04

https://www.norma43.net/blog/la-estr...o-en-norma-43/

pgranados 17-05-2023 16:39:54

Cita:

Empezado por bosoft (Mensaje 551510)
Creo que tienes otras solucionas "más simples" para extraer los movimientos de una cuenta bancaria.
Cuando pides un extracto de movimientos online, casi todas las entidades disponen para descargar en formato Excel.

Pero lo mejor es descargar en formato CBS43. Para este último, pregunta en tu sucursal


Saludos

Sí, de hecho en su mayoría ya lo tiene en un Excel y así lo estoy leyendo e importando.

El problema es que los usuarios finales a veces son raros y flojos :confused: que van a querer la importación por PDF y no por CSV o Excel

mRoman 18-05-2023 17:45:58

Cita:

Empezado por pgranados (Mensaje 551506)
Hola Roman, buen día, ¿tendrás algún ejemplo de uso del QuickPDFLibrary? Veo que es de paga, ¿sabrás si existe una versión trial? Saludos.

Que tal pGranados.

Si existe una version trial de 30 dias. https://developers.foxit.com/

Un ejemplo de su uso.
Código Delphi [-]
procedure TfrmPDF.btnEjecutarClick(Sender: TObject);
var
     PDF: TDebenuPDFLibrary1811;
     UnlockResult, i, Fila,Columna, nTotArchivos : Integer;
begin
   try
       PDF := TDebenuPDFLibrary1811.Create;
       UnlockResult:=PDF.UnlockKey(' [aqui va tu numero de licencia] ');

       DM.TRS.Active:=False;
       DM.TRS.StartTransaction;

       // BORRAMOS LOS REGISTROS DE "ESTADOS_CTA_DATOS_PDF"
       qryBorrar.SQL.Clear;
       qryBorrar.SQL.Add('DELETE FROM estado_cta_datos_pdf '+
                         'WHERE PDF_BANCO=:BANCO '+
                         '  AND pdf_mes=:mes '+
                         '  AND pdf_anio=:anio');
       qryBorrar.ExecSQL;

       if UnLockResult=1 then
       begin
           ST:= TStringList.Create;

           nTotArchivos:=FileListBox1.Count;
           pBar1.Max:=nTotArchivos;
           pBar1.Step:=1;
//           ShowMessage( IntToStr(FileListBox1.Count) );
           for i:=0 to FileListBox1.Count-1 do
           begin
               sArchivoPDF:=FileListBox1.Items.Strings[i];
               PDF.LoadFromFile( Dir+sArchivoPDF,'');
               if nTotArchivos=1 then
               begin
                   nPags := PDF.PageCount-nUltPaginas;
               end Else
               begin
                   if nTotArchivos=FileListBox1.ItemIndex+1 then
                      nPags := PDF.PageCount-nUltPaginas
                   else
                      nPags := PDF.PageCount;
               end;
               pBar1.Position:=pBar1.Position+1;
               nPag:=1;
               pBar2.Max:=nPags;
               pBar2.Step:=1;
               pBar2.Position:=0;
               While nPag <= nPags do //nPags do
               begin
                   Memo1.Lines.Clear;
                   PDF.SelectPage(nPag);
                   Memo1.Lines.Add(PDF.GetPageText(3)); // Esta linea obtiene el TEXTO de la pagina que le indiques
                   Memo1.Lines.SaveToFile('c:\IDIVA\PDF_TXT_'+COPY(cbxBanco.Items.Strings[cbxBanco.ItemIndex],1,4)+'.txt'); //Guardo los datos extraidos del estado de cta en un archivo TEXTO
                   InsertarRegistrosPDF(Sender); //Este procedimiento, ejecuta instrucciones para almacenar los datos en tablas firebird, los lee desde el archivo guardado TXT o pudiera ser directamente del TMemo.
                   nPag:=nPag+1;
                   pBar2.Position:=pBar2.Position+1;
               end;
           end;
:
:
:(más código nada que ver con el componente)

En este link podrás consultar la instrucción "GetPageText" del componente.

Espero te sirva. Saludos.


La franja horaria es GMT +2. Ahora son las 14:47:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi