PDA

Ver la Versión Completa : No imprimir informacion del documento Word


ethangio
08-01-2013, 03:06:54
Buen dia

Tengo una aplicacion que imprime una plantilla word, todo va bien excepto que al imprimir tambien se imprime la informacion del documento.

Buscando encontré que se desactiva en Word esa opcion de imprimir informacion del documento, ya lo hice pero aun sigue saliendo
asi que pienso que debo hacerla desde codigo.

Alguien sabe la instruccion para que no imprima la informacion del documento ?

ethangio
09-01-2013, 02:25:41
Haaaammm podrian ayudarme con alguna referencia ? ...

Voy a probar si modifico el documento y lo salvo y despues lo imprimo, teoricamente no
tendria por que ser diferente pero lo intentaré.

nlsgarcia
09-01-2013, 04:10:16
ethangio,


Tengo una aplicacion que imprime una plantilla word, todo va bien excepto que al imprimir tambien se imprime la informacion del documento.



podrian ayudarme con alguna referencia ?

Revisa estos links:

Modificar Word (.DOC) desde Delphi
http://www.clubdelphi.com/foros/showthread.php?t=61731

Insertar datos a word
http://www.clubdelphi.com/foros/showthread.php?t=30762

Creating Word document from Delphi, saving as Doc and as PDF
http://stackoverflow.com/questions/8404827/creating-word-document-from-delphi-saving-as-doc-and-as-pdf

Cómo automatizar Word para realizar la combinación de correspondencia desde Delphi
http://support.microsoft.com/kb/229310/es

Los links anteriores tratan de Automatización de Word desde Delphi, quizás te den alguna idea.

Dudas:

1- ¿Que versión de Word usas?
2- ¿Haz revisado en Microsoft MSDN los parámetros de automatización de la versión de Word que utilizas?
3- ¿Haz probado inicializar los datos de la plantilla a empty antes de imprimir?

Documento.Variables.Item(I).Value := '';

Te sugiero colocar tu código para facilitar el análisis del problema.

Espero sea útil :)

Nelson.

ethangio
09-01-2013, 06:16:22
Gracias nlsgarcia mira mi codigo es este:


(* Creas un objeto Word *)
Word := CreateOleObject('Word.Application');

(* Añades un documento basado en la plantilla *)
Documento := Word.Documents.Open(ExtractFilePath(Application.ExeName)+'Template\agreement.dot');

(* Asignas valores a los campos *)
Documento.Variables.Add('nombre_negocio', ' xxxxx ');
Documento.Variables.Add('direccion_negocio', ' xxxxxx ');
Documento.Variables.Add('telefono_negocio', ' xxxxxx ');

Documento.Fields.Update;
Word.ActiveWindow.View.ShowFieldCodes := false;
Word.PrintOut(false);
Word.Visible := false;
Documento.Close(false);
Word.Quit;


Las ligas que me envias ya las revisé y solo que no dice nada de imprimir.

Todo esta bien llena las variables de la plantilla, excepto que cuando mando la sentencia Word.PrintOut(false); si imprime bien todo, excepto que imprime en una segunda hoja la informacion del documento.

Cuando digo la informacion del documento me refiero a que imprime:

Nombre de archivo : XXXXXX
Directorio :
Titulo :
Asnto :
Fecha de creacion :
etc.

Como que lo hace en automatico por que si pongo Word.Visible := true; no se ve en el documento.

Gracias por su tiempo. Uso word 2007 y voy a buscar Microsoft MSDN los parámetros de automatización y con respecto a la plantilla esta bien.

ethangio
09-01-2013, 06:33:21
Ya hice lo que indica esta liga : http://support.microsoft.com/kb/890897 acerca de no imprimir la informacion del documento
pero aun asi sigue imprimiendo la segunda hoja con la informacion.

Tambien ya revisé esta otra liga : http://msdn.microsoft.com/es-es/library/microsoft.office.tools.word.document.printout%28v=vs.80%29.aspx muy buena ;) pero no me ayuda :(

Empiezo a creer que es la impresosa :s ... voy a seguir buscando.

nlsgarcia
09-01-2013, 08:13:44
ethangio,

Revisa estos links:

1- Automating Word's Print Features:
http://www.google.com/url?sa=t&rct=j&q=word%20automation%20printout%20method&source=web&cd=18&ved=0CF8QFjAHOAo&url=http%3A%2F%2Fportal.dfpug.de%2FdFPUG%2FDokumente%2FFoxTalk%2FFoxTalk2000%2FFT200011_2.PDF&ei=mg3tUIPZOPKx0QHelIGoDg&usg=AFQjCNFYQvGhvq_02Hq-EjwoRE3kiYgy5Q

2- How to Print Documents:
http://msdn.microsoft.com/en-US/library/b9f0ke7y%28v=vs.80%29.aspx

3- Document.PrintOut Method:
http://msdn.microsoft.com/en-us/library/microsoft.office.tools.word.document.printout%28v=vs.80%29.aspx

La idea es parametrizar el Método PrintOut de Automatización de Word, específicamente los parámetros nPrintRangeType, cFrom, cTo, nItem y cPageRange. El Link 1 es un documento PDF con información de los parámetros mencionados y los Links 2 y 3 son complementarios.

Espero sea útil :)

Nelson.

ethangio
09-01-2013, 19:53:54
GRACIAS ... NLSGARCIA

Listo.

La instruccion quedó asi :

Word.PrintOut(True, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,0);

Te lo agradezco, que tengas un excelente dia . ^\||/