Ver Mensaje Individual
  #7  
Antiguo 18-05-2023
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Reputación: 21
mRoman Va por buen camino
Cita:
Empezado por pgranados Ver Mensaje
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.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita