Hola Cesar.
Como estas?
He buscado en internet y en el foro, algo parecido a insertar una imagen en RTF o DOC y nada que me ayude, lo mas problable que sea falta de conocimiento, pero que nadie antes haya tenido un requerimiento de este tipo, hummm...
Anoche pude dar con poder generar el QR en formato BMP, pero hasta ahi no mas!!
Que atento a alguna idea.
Saludos
Antonio.
Consulta Sobre Plantilla Word o Rtf "URGENTE"
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Consulta Sobre Plantilla Word o Rtf "URGENTE"
Antonio, yo acá te había puesto la solucion para insertar un grafico en el rtf
cmsoft wrote:Antonio, creo que aca esta tu solucion.
En el rtf base tienes que poner donde quieres que ponga la imagen con //IMAGEN// para que pueda reemplazarla.
Como te comente, previamente debes generar el QR en formato bmp y grabarlo en discoCode: Select all | Expand
#include "FiveWin.ch"
function Main()
LOCAL oDlg
DEFINE DIALOG oDlg TITLE "This is a dialog" SIZE 400, 200
@ 4, 8 BUTTON "Ok" ACTION Merge("C:\FWH\samples\base.rtf","C:\FWH\samples\QR.bmp")
ACTIVATE DIALOG oDlg CENTERED
return nil
*************************************************
** Armar documento rtf
*************************************************
PROCEDURE Merge(cBase,cImg)
LOCAL oWord , oDoc, cText , cDoc , cImgBase64
cDoc := cBase
cImgBase64 := StrToHex(hb_memoread( cImg ) )
cText := MEMOREAD(cDoc)
cText := STRTRAN(ctext,"//IMAGEN//",'{\pict\pngblip\picw1000\pich1000\picwgoal1000\pichgoal1000\bin '+cImgBase64+' }')
if !GrabaArchivo( 'c:\fwh\samples\antonio_nuevo.rtf', cText )
MsgAlert("Fallo crear documento, verifique que no este en uso" , "Alerta" )
RETURN
ENDIF
if (oWord := WinWordObj() ) == nil
MsgAlert( "MS Word no instalado" , "Alerta" )
else
oDoc = oWord:Documents:Open('c:\fwh21\samples\antonio_nuevo.rtf')
if oDoc == nil
MsgAlert("Fallo crear documento, verifique que no este en uso" , "Alerta" )
endif
endif
oDoc:Application:Visible := .t.
RETURN
*****************
** Grabar archivo
FUNCTION GrabaArchivo(cArchivo,cDato)
LOCAL Han, nBytes, nErr
Han := FCreate(cArchivo)
nBytes := FWRITE(Han,cDato,Len(cDato))
nErr := Ferror()
IF nErr <> 0
MsgStop("Error " + STR(nErr)+CHR(10)+cArchivo,"Error")
ENDIF
LCLOSE(Han)
RETURN nBytes = Len(cDato)
Espero te sirva
Re: Consulta Sobre Plantilla Word o Rtf "URGENTE"
cmsoft wrote:Antonio, yo acá te había puesto la solucion para insertar un grafico en el rtfcmsoft wrote:Antonio, creo que aca esta tu solucion.
En el rtf base tienes que poner donde quieres que ponga la imagen con //IMAGEN// para que pueda reemplazarla.
Como te comente, previamente debes generar el QR en formato bmp y grabarlo en discoCode: Select all | Expand
#include "FiveWin.ch"
function Main()
LOCAL oDlg
DEFINE DIALOG oDlg TITLE "This is a dialog" SIZE 400, 200
@ 4, 8 BUTTON "Ok" ACTION Merge("C:\FWH\samples\base.rtf","C:\FWH\samples\QR.bmp")
ACTIVATE DIALOG oDlg CENTERED
return nil
*************************************************
** Armar documento rtf
*************************************************
PROCEDURE Merge(cBase,cImg)
LOCAL oWord , oDoc, cText , cDoc , cImgBase64
cDoc := cBase
cImgBase64 := StrToHex(hb_memoread( cImg ) )
cText := MEMOREAD(cDoc)
cText := STRTRAN(ctext,"//IMAGEN//",'{\pict\pngblip\picw1000\pich1000\picwgoal1000\pichgoal1000\bin '+cImgBase64+' }')
if !GrabaArchivo( 'c:\fwh\samples\antonio_nuevo.rtf', cText )
MsgAlert("Fallo crear documento, verifique que no este en uso" , "Alerta" )
RETURN
ENDIF
if (oWord := WinWordObj() ) == nil
MsgAlert( "MS Word no instalado" , "Alerta" )
else
oDoc = oWord:Documents:Open('c:\fwh21\samples\antonio_nuevo.rtf')
if oDoc == nil
MsgAlert("Fallo crear documento, verifique que no este en uso" , "Alerta" )
endif
endif
oDoc:Application:Visible := .t.
RETURN
*****************
** Grabar archivo
FUNCTION GrabaArchivo(cArchivo,cDato)
LOCAL Han, nBytes, nErr
Han := FCreate(cArchivo)
nBytes := FWRITE(Han,cDato,Len(cDato))
nErr := Ferror()
IF nErr <> 0
MsgStop("Error " + STR(nErr)+CHR(10)+cArchivo,"Error")
ENDIF
LCLOSE(Han)
RETURN nBytes = Len(cDato)
Espero te sirva
Hola Amigo Cesar.
Disculpa no haber respondido antes.
Ya había considerado esta opción, luche todo 2 días con insertar el código QR, como resultado, al insertar el QR, se desformaba el RTF generado, ya que era el Qr, mas la imagen de la firma, cuando pensé que ya estaba avanzado, se presento el problema que Windows se bloqueaba, indicándome que la plantilla de RTF se encontraba abierta, lo que me obligaba a resetear el equipo, así con estos problemas, mas la presión por la insistencia del cliente, me vi en la obligación de abortar esta solución e intentar otra opción. Por este motivo no quise seguir solicitando ayuda, el tiempo lo tenia en mi contra, ahora tendré que ver como justifico ante el cliente que la solución que le daré, es diferente a la que me planteo, ya que fue el cliente quien me plateo el uso de RTF.
Saludos.
Antonio
FWH 22.10 - HARBOUR - PELLES C
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Consulta Sobre Plantilla Word o Rtf "URGENTE"
Antonio:
Intuyo que habría que formatear el documento de tal manera que después no se desconfigure.
Si queres contunuar con esa opción comparteme el documento y puedo mirarlo.
Intuyo que habría que formatear el documento de tal manera que después no se desconfigure.
Si queres contunuar con esa opción comparteme el documento y puedo mirarlo.
Re: Consulta Sobre Plantilla Word o Rtf "URGENTE"
Hola Cesar.
Como estas?
Muchas gracias por toda tu ayuda.
Hoy he hablado con mi cliente, le argumente que usar una plantilla RTF o Word, como parte del sistema guardada en una carpeta, queda expuesta a que alguien la pueda modificar o eliminar, afectando el funcionamiento del sistema. Lo extraño fuera de que cada cierta apertura, se bloqueaba quedando abierta y no dejando ser usada por el sistema, esto me ocurrió en Windows 10, no encontré un patrón de secuencia donde y porque se quedaba abierta la plantilla, por lo demás, hasta ese momento, solo había un usuario usándola, no me imagino, si simultáneamente era usada por mas de un usuario.
Como puedes ver, invertí demasiado tiempo frente al cliente y termine usando otra forma diferente a la solicitada para responder, con esto, vi una larga distancia y complejidad, frente a otras herramientas y eso nos deja expuesto a perder opciones de desarrollo, el cliente quiere soluciones y no complicaciones, la gran verdad, el cliente siempre tendrá la razón.
Saludos
Antonio.
Como estas?
Muchas gracias por toda tu ayuda.
Hoy he hablado con mi cliente, le argumente que usar una plantilla RTF o Word, como parte del sistema guardada en una carpeta, queda expuesta a que alguien la pueda modificar o eliminar, afectando el funcionamiento del sistema. Lo extraño fuera de que cada cierta apertura, se bloqueaba quedando abierta y no dejando ser usada por el sistema, esto me ocurrió en Windows 10, no encontré un patrón de secuencia donde y porque se quedaba abierta la plantilla, por lo demás, hasta ese momento, solo había un usuario usándola, no me imagino, si simultáneamente era usada por mas de un usuario.
Como puedes ver, invertí demasiado tiempo frente al cliente y termine usando otra forma diferente a la solicitada para responder, con esto, vi una larga distancia y complejidad, frente a otras herramientas y eso nos deja expuesto a perder opciones de desarrollo, el cliente quiere soluciones y no complicaciones, la gran verdad, el cliente siempre tendrá la razón.
Saludos
Antonio.
FWH 22.10 - HARBOUR - PELLES C