margenes en documento word

31/10/2005 - 17:53 por josepe | Informe spam
Saludos,

Llevo un timpo con esta consulta i no encuentro solución:

Quiero hacer un documento word desde una página asp.
Por ahora he conseguido crear un documento word utilizando el código:

/////
Response.ContentType = "application/msword"
Response.AddHeader "content-disposition", "inline; filename=OrderFax.doc"
////

Con estas líneas todo lo que escribo en el documento asp se visualiza como
documento
word.

Mi gran problema está en los márgenes de este documento word. No puedo
modificarlos
de ninguna manera y por defecto me pone unos márgenes izquierdo y derecho
muy grandes.

He probado modificando el documento en la etiqueta <body> o con classes pero
nada, sigue dando sus margenes predeterminados.

Como puedo modificar los margenes del doc word creado?
Debo utilizar otro método para crear el documento?
Puedo modificar las opciones del pc o del word para el cliente que abre este
documento para que por defecto estos margenes sean más pequeños?

Alguna solución?

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Miguel Gonzalez
31/10/2005 - 19:22 | Informe spam
Hola Josepe.

Mírate en la ayuda VBA del Word las propiedades y métodos del objeto "PageSetup". Allí encontrarás
lo que buscas. Por ejemplo:

With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = CentimetersToPoints(2.5)
.BottomMargin = CentimetersToPoints(2.1)
.LeftMargin = CentimetersToPoints(2.1)
.RightMargin = CentimetersToPoints(2.5)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.5)
.FooterDistance = CentimetersToPoints(1.5)
.PageWidth = CentimetersToPoints(21)
.PageHeight = CentimetersToPoints(29.7)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = True
.TwoPagesOnOne = False
.GutterPos = wdGutterPosLeft
End With

Saludos!


josepe escribió:
Saludos,

Llevo un timpo con esta consulta i no encuentro solución:

Quiero hacer un documento word desde una página asp.
Por ahora he conseguido crear un documento word utilizando el código:

/////
Response.ContentType = "application/msword"
Response.AddHeader "content-disposition", "inline; filename=OrderFax.doc"
////

Con estas líneas todo lo que escribo en el documento asp se visualiza como
documento
word.

Mi gran problema está en los márgenes de este documento word. No puedo
modificarlos
de ninguna manera y por defecto me pone unos márgenes izquierdo y derecho
muy grandes.

He probado modificando el documento en la etiqueta <body> o con classes pero
nada, sigue dando sus margenes predeterminados.

Como puedo modificar los margenes del doc word creado?
Debo utilizar otro método para crear el documento?
Puedo modificar las opciones del pc o del word para el cliente que abre este
documento para que por defecto estos margenes sean más pequeños?

Alguna solución?

Muchas gracias.


Respuesta Responder a este mensaje
#2 josepe
02/11/2005 - 10:08 | Informe spam
Hola miguel,

Me parece que entiendo lo que me dices, pero como puedo acceder a este
objeto y estas propiedades desde la página asp?

En la página ASP no creo ningun objeto Ms Word
Simplemente cambio el ContentType de la página ASP para que la salida sea en
un doc word.
////////////////////////
Response.ContentType = "application/msword"
Response.AddHeader "content-disposition", "inline; filename=OrderFax.doc"


////////////////////////
Todo el código siguiente es como una página HTML con código ASP, y el
resultado es que cuando se pide esta página ASP el navegador abre el word i
muestra la página HTML como un doc word. (eso si passa completamente de los
margenes)

Como accedo a este objeto y estas propiedades que me dices?
Debo crear el documento de otra forma? Como?

Saludos y muchas gracias.


"Miguel Gonzalez" escribió en el mensaje
news:
Hola Josepe.

Mírate en la ayuda VBA del Word las propiedades y métodos del objeto
"PageSetup". Allí encontrarás
lo que buscas. Por ejemplo:

With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = CentimetersToPoints(2.5)
.BottomMargin = CentimetersToPoints(2.1)
.LeftMargin = CentimetersToPoints(2.1)
.RightMargin = CentimetersToPoints(2.5)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.5)
.FooterDistance = CentimetersToPoints(1.5)
.PageWidth = CentimetersToPoints(21)
.PageHeight = CentimetersToPoints(29.7)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = True
.TwoPagesOnOne = False
.GutterPos = wdGutterPosLeft
End With

Saludos!


josepe escribió:
Saludos,

Llevo un timpo con esta consulta i no encuentro solución:

Quiero hacer un documento word desde una página asp.
Por ahora he conseguido crear un documento word utilizando el código:

/////
Response.ContentType = "application/msword"
Response.AddHeader "content-disposition", "inline; filename=OrderFax.doc"
////

Con estas líneas todo lo que escribo en el documento asp se visualiza como
documento
word.

Mi gran problema está en los márgenes de este documento word. No puedo
modificarlos
de ninguna manera y por defecto me pone unos márgenes izquierdo y derecho
muy grandes.

He probado modificando el documento en la etiqueta <body> o con classes
pero nada, sigue dando sus margenes predeterminados.

Como puedo modificar los margenes del doc word creado?
Debo utilizar otro método para crear el documento?
Puedo modificar las opciones del pc o del word para el cliente que abre
este documento para que por defecto estos margenes sean más pequeños?

Alguna solución?

Muchas gracias.

Respuesta Responder a este mensaje
#3 Miguel Gonzalez
02/11/2005 - 10:29 | Informe spam
Entiendo...

El código que te paso sive en caso que crees/manipules documentos Word
(completos) en el servidor.

Si solamente envias al cliente un encabezado para que "engañe" al
navegador y MSWord abra el documento, lo que estás enviando en
definitiva es texto o HTML.

Se me ocurre que utilizando CSS ("media print") podría manipularse la
salida impresa del documento Word. No lo he probado nunca. Si Word
interpretara bien el HTML debería funcionar, pero...

De todas formas, creo que si lo que buscas es enviar al cliente un
documento Word "correcto", deberías crearlo "on-fly" en el servidor.
Sólo esto te garantizará el resultado que deseas.

Saludos!
Miguel


josepe escribió:
Hola miguel,

Me parece que entiendo lo que me dices, pero como puedo acceder a este
objeto y estas propiedades desde la página asp?

En la página ASP no creo ningun objeto Ms Word
Simplemente cambio el ContentType de la página ASP para que la salida sea en
un doc word.
////////////////////////

Response.ContentType = "application/msword"
Response.AddHeader "content-disposition", "inline; filename=OrderFax.doc"



////////////////////////
Todo el código siguiente es como una página HTML con código ASP, y el
resultado es que cuando se pide esta página ASP el navegador abre el word i
muestra la página HTML como un doc word. (eso si passa completamente de los
margenes)

Como accedo a este objeto y estas propiedades que me dices?
Debo crear el documento de otra forma? Como?

Saludos y muchas gracias.


"Miguel Gonzalez" escribió en el mensaje
news:
Hola Josepe.

Mírate en la ayuda VBA del Word las propiedades y métodos del objeto
"PageSetup". Allí encontrarás
lo que buscas. Por ejemplo:

With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = CentimetersToPoints(2.5)
.BottomMargin = CentimetersToPoints(2.1)
.LeftMargin = CentimetersToPoints(2.1)
.RightMargin = CentimetersToPoints(2.5)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.5)
.FooterDistance = CentimetersToPoints(1.5)
.PageWidth = CentimetersToPoints(21)
.PageHeight = CentimetersToPoints(29.7)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = True
.TwoPagesOnOne = False
.GutterPos = wdGutterPosLeft
End With

Saludos!


josepe escribió:

Saludos,

Llevo un timpo con esta consulta i no encuentro solución:

Quiero hacer un documento word desde una página asp.
Por ahora he conseguido crear un documento word utilizando el código:

/////
Response.ContentType = "application/msword"
Response.AddHeader "content-disposition", "inline; filename=OrderFax.doc"
////

Con estas líneas todo lo que escribo en el documento asp se visualiza como
documento
word.

Mi gran problema está en los márgenes de este documento word. No puedo
modificarlos
de ninguna manera y por defecto me pone unos márgenes izquierdo y derecho
muy grandes.

He probado modificando el documento en la etiqueta <body> o con classes
pero nada, sigue dando sus margenes predeterminados.

Como puedo modificar los margenes del doc word creado?
Debo utilizar otro método para crear el documento?
Puedo modificar las opciones del pc o del word para el cliente que abre
este documento para que por defecto estos margenes sean más pequeños?

Alguna solución?

Muchas gracias.






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida