Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-09-2005
jcmolero jcmolero is offline
Registrado
 
Registrado: sep 2005
Posts: 2
Poder: 0
jcmolero Va por buen camino
Rellenar una plantilla en PDF

Buenos Dias,
os comento mi problema. Estoy intentando hacer una aplicación Dephi, que sea capaz de coger los datos de una base de datos y llevarlos hasta una plantilla en PDF (formularios del INEM, cartas de pago, etc.) pero no tengo ni idea de cómo hacerlo. Llevo varios dias investigando pero nada, no hay forma. Os estaría muy agradecido si me pudieseis ayudar. Gracias de antemano, saludos.
Responder Con Cita
  #2  
Antiguo 21-09-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿No te valdría generar el fichero en otro formato (RTF, DOC, TXT,... - o cualquier Generador de reports-) y luego convertirlo a PDF?

O sea tener la plantilla en algo "más accesible" que un PDF.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 21-09-2005
jcmolero jcmolero is offline
Registrado
 
Registrado: sep 2005
Posts: 2
Poder: 0
jcmolero Va por buen camino
gracias por tu respuesta, podria hacerlo, pero esos pdf´s ya están creados por el inem, y otros organismos oficiales, por lo que debo ceñirme a su plantilla. He visto un programa (Nominaplus) que rellena esos documentos desde sus bases de datos, por eso sé que debe existir alguna manera de hacerlo, aunque la verdad es que yo no tengo ni idea. Saludos
Responder Con Cita
  #4  
Antiguo 26-09-2005
Avatar de Spynosa
Spynosa Spynosa is offline
Miembro
 
Registrado: nov 2004
Ubicación: Ecija - Sevilla
Posts: 99
Poder: 20
Spynosa Va por buen camino
el trabajo es un poco pesado pero yo me curre uno asi:
Código Delphi [-]
 procedure TForm1.BitBtn1Click(Sender: TObject);
 var g:file of byte;
     l,cd:byte;
     nombrefichero:string;
     yy,mm,dd:word;
     mvar:string;
 procedure escribe (dato,nombrecampo:string);
 var c:byte;
 begin
     l:=32;write(g,l);
     l:=60;write(g,l);
     l:=60;write(g,l);
     l:=32;write(g,l);
     l:=47;write(g,l);
     l:=86;write(g,l);
     l:=32;write(g,l);
     l:=40;write(g,l);
     for c:=1 to length(dato) do
     begin
         l:=ord(dato[c]);write(g,l);
     end;
     l:=41;write(g,l);
     l:=47;write(g,l);
     l:=84;write(g,l);
     l:=32;write(g,l);
     l:=40;write(g,l);
     for c:=1 to length(nombrecampo) do
     begin
         l:=ord(nombrecampo[c]);write(g,l);
     end;
     l:=41;write(g,l);
     l:=62;write(g,l);
     l:=62;write(g,l);
 end;
 begin
 nombrefichero:='estadisticas.pdf';
 assignfile(g,'.\estadis.fdf');
    rewrite(g);
 l:=37;write(g,l);
 l:=70;write(g,l);
 l:=68;write(g,l);
 l:=70;write(g,l);
 l:=45;write(g,l);
 l:=49;write(g,l);
 l:=46;write(g,l);
 l:=50;write(g,l);
 l:=13;write(g,l);
 l:=37;write(g,l);
 l:=226;write(g,l);
 l:=227;write(g,l);
 l:=207;write(g,l);
 l:=211;write(g,l);
 l:=13;write(g,l);
 l:=10;write(g,l);
 l:=49;write(g,l);
 l:=32;write(g,l);
 l:=48;write(g,l);
 l:=32;write(g,l);
 l:=111;write(g,l);
 l:=98;write(g,l);
 l:=106;write(g,l);
 l:=13;write(g,l);
 l:=60;write(g,l);
 l:=60;write(g,l);
 l:=32;write(g,l);
 l:=13;write(g,l);
 l:=47;write(g,l);
 l:=70;write(g,l);
 l:=68;write(g,l);
 l:=70;write(g,l);
 l:=32;write(g,l);
 l:=60;write(g,l);
 l:=60;write(g,l);
 l:=32;write(g,l);
 l:=47;write(g,l);
 l:=70;write(g,l);
 l:=105;write(g,l);
 l:=101;write(g,l);
 l:=108;write(g,l);
 l:=100;write(g,l);
 l:=115;write(g,l);
 l:=32;write(g,l);
 l:=91;write(g,l);
 
 //escribe('Si','a2');
 escribe(edit1.text,'b1');
 decodedate(actual.date,yy,mm,dd);
 mvar:=inttostr(dd);
 if length(mvar) = 1 then
    begin
      escribe('0','b2d');escribe(mvar,'b2m');
    end
      else begin escribe(mvar[1],'b2d');escribe(mvar[2],'b2m');
    end;
 //**********
 mvar:=inttostr(mm);
 if length(mvar) = 1 then
    begin
      escribe('0','b2m1');escribe(mvar,'b2m2');
    end
      else begin escribe(mvar[1],'b2m1');escribe(mvar[2],'b2m2');
    end;
 //*******
 mvar:=inttostr(yy);
      escribe(mvar[1],'b2a1');escribe(mvar[2],'b2a2');
      escribe(mvar[3],'b2a3');escribe(mvar[4],'b2a4');
 //*******
 decodedate(f1.date,yy,mm,dd);
 mvar:=inttostr(dd);
 if length(mvar) = 1 then
    begin
      escribe('0','b21');escribe(mvar,'b22');
    end
      else begin escribe(mvar[1],'b21');escribe(mvar[2],'b22');
    end;
 //**********
 mvar:=inttostr(mm);
 if length(mvar) = 1 then
    begin
      escribe('0','b23');escribe(mvar,'b24');
    end
      else begin escribe(mvar[1],'b23');escribe(mvar[2],'b24');
    end;
 //*******
 mvar:=inttostr(yy);
      escribe(mvar[1],'b25');escribe(mvar[2],'b26');
      escribe(mvar[3],'b27');escribe(mvar[4],'b28');
 //segundafecha
   if chf.Checked then
   begin
    decodedate(f2.date,yy,mm,dd);
    mvar:=inttostr(dd);
    if length(mvar) = 1 then
    begin
      escribe('0','b29');escribe(mvar,'b210');
    end
      else begin escribe(mvar[1],'b29');escribe(mvar[2],'b210');
    end;
 //**********
    mvar:=inttostr(mm);
    if length(mvar) = 1 then
     begin
       escribe('0','b211');escribe(mvar,'b212');
     end
      else begin escribe(mvar[1],'b211');escribe(mvar[2],'b212');
     end;
 //*******
      mvar:=inttostr(yy);
      escribe(mvar[1],'b213');escribe(mvar[2],'b214');
      escribe(mvar[3],'b215');escribe(mvar[4],'b216');
 
   end;
 //fin segundafecha
 try
      mvar:=edit2.Text;
      escribe(mvar[1],'b217');escribe(mvar[2],'b218');
      escribe(mvar[4],'b219');escribe(mvar[5],'b220');
 except
 //    MessageDlg('Error en la fecha', mtWarning, [], 0);
 end;
    if che.Checked then
    begin
    try
        mvar:=edit3.Text;
        escribe(mvar[1],'b221');escribe(mvar[2],'b222');
        escribe(mvar[4],'b223');escribe(mvar[5],'b224');
    except
    end;
    end;
    escribe(edit4.text,'e3');
    if t1.Checked then escribe('Si','1310');
    if t2.Checked then escribe('Si','1322');
    if t3.Checked then escribe('Si','1324');
    if t4.Checked then escribe('Si','1380');
    if c1.Checked then escribe('Si','g2');
    if c2.Checked then escribe('Si','g1');
    escribe('Si','h1');
    escribe(edit5.text,'dni');
 l:=32;write(g,l);
 l:=13;write(g,l);
 l:=93;write(g,l);
 l:=32;write(g,l);
 l:=13;write(g,l);
 l:=47;write(g,l);
 l:=70;write(g,l);
 l:=32;write(g,l);
 l:=40;write(g,l);
 //********
     for cd:=1 to length(nombrefichero) do
     begin
         l:=ord(nombrefichero[cd]);write(g,l);
     end;
 //********
 l:=41;write(g,l);
 l:=62;write(g,l);
 l:=62;write(g,l);
 l:=32;write(g,l);
 l:=13;write(g,l);
 l:=62;write(g,l);
 l:=62;write(g,l);
 l:=32;write(g,l);
 l:=13;write(g,l);
 l:=101;write(g,l);
 l:=110;write(g,l);
 l:=100;write(g,l);
 l:=111;write(g,l);
 l:=98;write(g,l);
 l:=106;write(g,l);
 l:=13;write(g,l);
 l:=116;write(g,l);
 l:=114;write(g,l);
 l:=97;write(g,l);
 l:=105;write(g,l);
 l:=108;write(g,l);
 l:=101;write(g,l);
 l:=114;write(g,l);
 l:=13;write(g,l);
 l:=60;write(g,l);
 l:=60;write(g,l);
 l:=13;write(g,l);
 l:=47;write(g,l);
 l:=82;write(g,l);
 l:=111;write(g,l);
 l:=111;write(g,l);
 l:=116;write(g,l);
 l:=32;write(g,l);
 l:=49;write(g,l);
 l:=32;write(g,l);
 l:=48;write(g,l);
 l:=32;write(g,l);
 l:=82;write(g,l);
 l:=32;write(g,l);
 l:=13;write(g,l);
 l:=13;write(g,l);
 l:=62;write(g,l);
 l:=62;write(g,l);
 l:=13;write(g,l);
 l:=37;write(g,l);
 l:=37;write(g,l);
 l:=69;write(g,l);
 l:=79;write(g,l);
 l:=70;write(g,l);
 l:=13;write(g,l);
 
 closefile(g);
 ShellExecute(Form1.Handle,nil,PChar('.\estadis.fdf'),'','',SW_SHOWNORMAL);
 
 end;

espero que te sirva.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:32:13.


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
Copyright 1996-2007 Club Delphi