para tu suerte si existe hay una herramienta que se llama pdf2word, permite trabajar en modo batch y con muchas opciones desde la linea de comando seria (extraido de la ayuda) Usage: PDF2RTF [Option] <PDF File> [<RTF File>] -f <page number> : First page to be converted -l <page number> : Last page to be converted -z <zoom ratio> : Set zoom ratio when conversion, the range is from 50 to 200 -b <space number>: Space between characters -q : Exit after converting -m : Run without window -r : Overwrite an existing destination file without prompting to confirm -h or -? : Print usage information -i <input PDF file name> : PDF file will be converted -o <output RTF file name> : RTF file will be generated
For example : PDF2RTF -i c:\a.pdf PDF2RTF -i c:\a.pdf -o c:\a.rtf PDF2RTF -q -f 5 -l 8 -i c:\a.pdf -o c:\a.rtf PDF2RTF -q -f 1 -l 1 -i c:\a.pdf -o c:\a.rtf PDF2RTF -q -m -r -b 50 -f 1 -l 1 -i c:\a.pdf -o c:\a.rtf de esta manera covertirias a RTF temporariamente tus pdf buscas el texto y luego eliminas Saludos Luis Dalmasso 2007/10/5, Carlos A. Cuevas <[EMAIL PROTECTED]>: > Hola > > Tengo una carpeta que tiene una cantidad grande de archivos pdf. > > Lo que quiero conseguir alguna utilidad para poder buscar en los > contenidos de los archivos pdf. > > > > Atte. Carlos > > > > *De:* [email protected] [mailto:[EMAIL PROTECTED] *En nombre de *Gustavo > Señoriño > *Enviado el:* Viernes, 05 de Octubre de 2007 11:21 > *Para:* GUFA List Member > *Asunto:* [GUFA] Form con Botones Variable > > > > Muchas Gracias Estela!! Lo voy a probar... > > > > ----- Original Message ----- > > *From:* Estela Lázaro <[EMAIL PROTECTED]> > > *To:* GUFA List Member <[email protected]> > > *Sent:* Thursday, October 04, 2007 8:37 PM > > *Subject:* [GUFA] Form con Botones Variable > > > > Hola, yo que todavía ando con el vfp7 para la mayoría de mis proyectos, > creo una clase con sus métodos y agrego el control por programa, en el > ejemplo que te paso es un textbox vos tendrías que basarlo en un command, > algo así: > > > > Define Class MiText1 As TextBox > > Procedure InteractiveChange > Thisform.lcambia=.T. > Endproc > > > > Procedure RightClick > This.Parent.Parent.RightClick() > Endproc > > > > Procedure LostFocus > Thisform.lcambia=.F. > Endproc > > > > Procedure Valid > Local llretval,cpo,colP,colV,colT,estacol > llretval=.T. > If Thisform.lcambia > If This.Value<0 > =Messagebox("No puede ser negativo") > llretval=.F. > Endif > Endif > Return llretval > Endproc > > > Procedure Click > This.SetFocus > > Endproc > > > > > Enddefine > > y en el form agrego el control, acá es una columna en la grilla con el > textbox basado en la clase anterior, el tuyo debe ser menos complicado, te > lo paso igual por si te sirve: > > > > i=8 &&thisform.pgf.pg2.grdlist.ColumnCount > > j=0 > bacolor1=200 &&arranca con RGB(200,250,255) > bacolor2=300 > > SELECT quintero > go top > DO WHILE !EOF() > Thisform.pgf.pg2.grdlist.ColumnCount=i+1 > bacolor2=bacolor2-50 > IF bacolor2<0 > bacolor2=250 > bacolor1=bacolor1-50 > endif > j=j+1 > i=i+1 > > cpo1="Thisform.pgf.pg2.grdlist.Column"+ALLTRIM(STR(i))+".Header1.Caption='Ing > "+ALLTRIM(LEFT(quintero.nombre,20))+"'" > &cpo1 > *!* cpo1="Thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".ControlSource='_ctmp_liqui.quinI"+ALLTRIM(STR(j))+"'" > *!* &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column"+ALLTRIM(STR(i))+".Width=60" > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column"+ALLTRIM(STR(i))+".ReadOnly=.f." > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column"+ALLTRIM(STR(i))+".InputMask=' > 999999.99'" > &cpo1 > > cpo1="Thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".AddObject('TextI','MiText1')" > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column"+ALLTRIM(STR(i))+".CurrentControl > ='TextI'" > &cpo1 > * cpo1="Thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".BackColor=RGB("+ALLTRIM(STR(bacolor1))+","+ALLTRIM(STR(bacolor2))+",255)" > cpo1="thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".DynamicBackColor='IIF(ALLTRIM(_ctmp_liqui.lote)="+; > > > '"Totales"'+",RGB(209,168,255),RGB("+ALLTRIM(STR(bacolor1))+","+ALLTRIM(STR(bacolor2))+",255))'" > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".Header1.BackColor=RGB("+ALLTRIM(STR(bacolor1))+","+ALLTRIM(STR(bacolor2))+",255)" > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".TextI.ReadOnly=.f." > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".TextI.Enabled=.t." > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column"+ALLTRIM(STR(i))+".Format='kz'" > &cpo1 > cpo1="T hisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".TextI.BorderStyle=0" > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".TextI.Format='kz'" > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column"+ALLTRIM(STR(i))+".TextI.Value=0" > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".TextI.InputMask='999999.99'" > &cpo1 > cpo1="Thisform.pgf.pg2.grdlist.Column > "+ALLTRIM(STR(i))+".TextI.Visible=.t." > &cpo1 > skip > > enddo > > > > Cualquier cosa, avisame. > > > > Estela > > > *Ricardo Aidelman <[EMAIL PROTECTED]>* escribió: > > Suponiendo que lo estas ejecutando desde un form, agregá el método > Thisform.MiFuncion, con el siguiente código: > > ******************** > AEvents( laEvents, 0 ) > loObj = laEvents[ 1 ] > > ExecScript( loObj.cCommand ) > ******************** > > Y utilizá BindEvent() para atrapar el click de cada boton > > > ***************************** > Do While !Eof("mitabla") > > cNombre = mitabla.nombre > nTop = mitabla.top > nLeft = mitabla.left > cCommand = mitabla.comando > > * simulemos el contenido del campo memo de tu tabla > > TEXT To lcCommand NoShow TextMerge > Try > > Create Cursor MiCursor ( UnCampo C(10) ) > For i = 1 To 10 > Insert Into MiCursor Values ( Sys(2015) ) > Endfor > > Browse Last > > =Messagebox( "Ya ejecute el codigo" ) > > Error "Esto es a propósito" > > =Messagebox( "Esto no se ejecuta" ) > > Catch To oErr > =Messagebox( "Se produjo un error" + Chr(13) + oErr.Message > ) > > Finally > If Used( "MiCursor" ) > Use In MiCursor > Endif > Endtry > ENDTEXT > > Thisform.AddObject(cNombre, "CommandButton") > > loObj = Thisform.&cNombre > loObj.Top = nTop > loObj.Left = nLeft > AddProperty( loObj, "cCommand", lcCommand ) > loObj.Visible = .T. > > Bindevent( loObj, "Click", Thisform, "MiFuncion" ) > > Enddo > *********************************** > > Salu2 > > > ricardo aidelman (socio 1545) > praxis computación > buenos aires > argentina > > -----Mensaje original----- > De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Gustavo Señoriño > Enviado el: Jueves, 04 de Octubre de 2007 02:49 p.m. > Para: GUFA List Member > Asunto: [GUFA] Form con Botones Variable > > Gracias a los tres!! Todas las opciones que me dieron andan bárbaro!! > > Ahora tengo otro problema... como le asigno al botón un código para > ejecutar > cuando hagan click? Probé las siguientes: > > oBot.Click = MiFuncion() && Se ejecuta en el momento de asignar el valor > oBot.Click = "MiFuncion()" && Sale error que dice CLICK is a method, event > or object > > Alguna sugerencia? > Gracias!!! > > > > ----- Original Message ----- > From: "Mauricio Pistiner" > To: "GUFA List Member" > Sent: Thursday, October 04, 2007 11:04 AM > Subject: [GUFA] Form con Botones Variable > > > > Sería algo así: > > > > * ------------------------------------------------------- > > PROCEDURE AgregaBoton > > LPARAMETERES cNombre, cCaption, nTop, nLeft > > LOCAL oCtrl > > > > THISFORM.AddObject(cNombre, "CommandButton") > > > > oCtrl = EVALUATE("THISFORM." + cNombre ) > > oCtrl.Top = nTop > > oCtrl.Left = nLeft > > ... > > ... > > ... > > > > * ------------------------------------------------------- > > > > saludos > > > > --- Gustavo Señoriño escribió: > > > >> Hola todos!!! > >> > >> Tengo un form en el que necesito poner botones en base a, por ejemplo, > >> una tabla que > >> contenga el nombre, caption, top y left. > >> > >> Yo probé utilizando EVALUATE() pero no funciona... y tampoco da ningun > >> error. Abajo va > >> un ejemplo: > >> > >> DO WHILE !EOF("mitabla") > >> cNombre = mitabla.nombre > >> nTop = mitabla.top > >> > >> THISFORM.AddObject(cNombre, "CommandButton") > >> EVALUATE("THISFORM." + cNombre + ".Top = nTop" > >> > >> SKIP IN mitabla > >> ENDDO > >> > >> Si tienen alguna punta de lo que pueda estar mal agradeceré > >> infinitamente... > >> > >> > >> Gracias > >> Gustavo > > > > > > > > Los referentes más importantes en compra/ venta de autos se juntaron: > > Demotores y Yahoo! > > Ahora comprar o vender tu auto es más fácil. Vistá ar.autos.yahoo.com/ > > > > > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.488 / Virus Database: 269.14.0/1049 - Release Date: > 04/10/2007 > 08:59 a.m. > > > > > > > > __________________________________________________ > Preguntá. Respondé. Descubrí. > Todo lo que querías saber, y lo que ni imaginabas, > está en Yahoo! Respuestas (Beta). > ¡Probalo ya! > http://www.yahoo.com.ar/respuestas > > > ------------------------------ > > > Los referentes más importantes en compra/venta de autos se juntaron: > Demotores y Yahoo!. Ahora comprar o vender tu auto es más fácil. > Visitá http://ar.autos.yahoo.com/ > >
