<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Necesito exportar un informe que creo a MS Word en un formato muy específico.Puedo exportarlo como un archivo PDF, lo cual es muy cerca a cómo quiero que se vea en MS Word, pero necesito mejorar su apariencia tanto como pueda, para minimizar la cantidad de edición que necesitará después de haber sido exportado. Para ilustrar lo que intento hacer, adjunto a continuación un breve script que crea un informe simple que contiene algunos títulos, un par de tablas y un pie de página, y luego exporta ese informe en tres formatos diferentes: un archivo PDF, un MS Documento de Word y un archivo HTML.
La versión PDF del informe se crea prácticamente como quiero que aparezca en la versión de MS Word, con títulos centrados, fuentes de diferentes tamaños y los estilos de tabla ("separador de encabezados" y "bordeados") especificados en el script.Sin embargo, la versión de MS Word ha perdido el centrado de los títulos, la configuración del tamaño de fuente y los estilos de tabla, y me gustaría conservar todas estas características si es posible.
También en la versión de MS Word, cada línea es en realidad un cuadro de texto (puedes ver esto abriendo el documento en Word, resaltando todo con -A y luego agregando bordes a la selección).Por supuesto, así es como se exportó todo en primer lugar y, por lo tanto, no es nada sorprendente; sin embargo Observo que la versión HTML no Considere que los dos títulos y el pie de página son cuadros, pero simplemente líneas de texto, y así es como me gustaría que aparecieran en la versión de MS Word.
Por tanto, mis preguntas son:
- ¿Es posible conservar (a) la configuración de centrado y/o (b) el tamaño de fuente al exportar a MS Word?
- ¿Es posible exportar simplemente líneas de texto (a diferencia de cuadros de texto) a MS Word?
- ¿Es posible conservar el estilo de tabla designado (por ejemplo, "con borde" o "separador de encabezado") al exportar a MS Word?
Supongo que algunas, si no todas, de estas cosas no serán posibles, pero sé por experiencias pasadas que a menudo hay una manera de solucionar estos pequeños problemas si sabes cómo hacerlo.¿Alguien puede ayudarme con algo de lo anterior?
Muchas gracias. Aquí está el script de demostración que mencioné:
miTableBox1 = caja de mesa (
caja de columna de cadena ( "Posición" , { "Primero" , "Segundo" , "Tercero" , "Cuatro" , "Quinto" }) ,
caja de columna de cadena ( "Descripción" , { "Agua" , "Ácido sulfurico" , "Oxígeno" , "Sulfuro de hidrógeno" , "Cloruro de sodio" }) ,
caja de columna de cadena ( "Fórmula" , { "H2O" , "H2SO4" , "O2" , "H2S" , "NaCl" }) ,
<< estilo de mesa ( "separador de cabezales" )
) ;
miTableBox2 = caja de mesa (
caja de columna de cadena ( "Ciudad" , { "Aberdeen" , "Cardiff" , "Londres" , "Manchester" }) ,
cuadro de columna de número ( "Población" , [ 212125 , 324800 , 8174000 , 512000 ]) ,
<< estilo de mesa ( "bordeado" )
) ;
mi título = caja de texto ( "Este es mi título principal" , << justifica el texto ( centro ) , << establecer el tamaño de fuente ( 14 ) , << color de fuente ({ 0 , 0 , 0,5 }) , << establecer ancho ( 200 )) ;
miSubtítulo = caja de texto ( "Este es mi subtítulo" , << justifica el texto ( centro ) , << establecer el tamaño de fuente ( 9 ) , << color de fuente ({ 0 , 0 , 1 }) , << establecer estilo de fuente ( "itálico" )) ;
miLíneaEnBlanco = caja de texto ( " " , << establecer el tamaño de fuente ( 12 )) ;
minota al pie = caja de texto ( "Esta es mi nota al pie" , << establecer el tamaño de fuente ( 9 ) , << justifica el texto ( centro )) ;
lubricante = cuadro de alineación ( ncol ( 1 ) ,
mi título ,
miSubtítulo ,
miLíneaEnBlanco ,
miTableBox1 ,
miLíneaEnBlanco ,
miTableBox2 ,
miLíneaEnBlanco ,
minota al pie
) ;
noroeste = nueva ventana ( "Mi ventana" , lubricante ) ;
lubricante << guardar PDF ( "C:\Documentos\Mi informe.pdf" ) ;
lubricante << guardar MS Word ( "C:\Documentos\Mi informe.doc" ) ;
lubricante << guardar HTML ( "C:\Documentos\Mi informe.html" ) ;
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hay dos tipos de exportación que se utilizan aquí desde la perspectiva de JMP. HTML y DOC se exportan como texto estructurado con información de estilo mínima. Los PDF (y otros como EPS y SVG) se exportan como gráficos, que conservan los estilos y el diseño, pero no la estructura.
Con respecto a que el texto esté en líneas separadas o no, JMP intenta ponerlos en líneas separadas emitiendo separadores de línea entre ellas, pero HTML trata los separadores de líneas como espacios en blanco regulares, lo que explica la diferencia con DOC. Si realmente está buscando una solución alternativa extrema, encontré un lugar en JMP que exporta texto sin separadores de líneas u otros adornos y es al exportar un ComboBox. Sin embargo, si va tan lejos y pierde estilo, También podrías crear un cuadro de texto gigante.
Buen ejemplo claro, por cierto.
¡¡¡Gracias por tu propuesta!!!
Funciona. Solo necesito cambiar el nombre del archivo de filename.doc.jmp a .doc
¿Podrías decirme cómo ajustar la página en modo horizontal, por favor?
Y quizás necesitaré escalar las páginas...
Hola Xan,
Gracias por las sugerencias; parece que tendré que ser un poco más astuto para conseguir los efectos que quiero, ya que no creo que un cuadro de texto gigante solucione mi problema a menos que pueda incorporar una tabla, y no veo la manera de hacerlo. Seguiré experimentando y publicaré aquí de nuevo si consigo algo. Mientras tanto, ¿podrías explicarme mejor ese comentario sobre los cuadros combinados, por favor? He intentado añadir uno a mi cuadro de alineación, pero parece que no se exporta ni a Word ni a HTML.
Muchas gracias
Hola,
Me enteré que ya existe un tema sobre la generación de informes.
Necesito generar un informe (MS Mord o guardado como archivo PDF) para múltiples parámetros (la cantidad de parámetros puede variar de 1 a 500).
Una página para cada parámetro. La navegación por el documento se realiza mediante marcadores.
El enfoque XML me parece muy interesante. No me siento cómodo con XML y acabo de empezar con JSL.
¿Podrías presentarme tu enfoque con ejemplos que pueda modificar según mis necesidades?
¿Quizás utilizar los documentos que he adjuntado?
El conjunto de datos adjunto contiene un script para múltiples "Gráficos de cuantiles normales".
Me gustaría poder generar un documento MS Word con la ayuda de JSL de acuerdo a una plantilla determinada, que pueda ser sustituida por una arbitraria.
He adjuntado:
Conjunto de datos con un script para generar múltiples gráficos (por cierto: gracias a la comunidad por su ayuda)
PDF convertido desde un archivo de "plantilla" de MS Word
Archivo XML convertido desde una "plantilla" de MS Word (archivo .zip)
El archivo XML se puede abrir con MS Word.
@martindemel
He probado esto un poco y recomiendo exportar la salida JMP como un documento de Word. Sería muy difícil generar código XML para gráficos.
Echa un vistazo a este programa de ejemplo. Este enfoque podría ser la solución. Necesitarás aprender qué son los cuadros de visualización JSL. Consejo: ¡el índice de scripts es tu mejor aliado!
dt = open("$sample_data\Big Class.jmp");
nw = new window("Sample",
panelbox("Actions",
hlistbox(
msword_button = buttonbox("Save to MS-Word",
sample_output << save msword("", Native);
),
close_button = buttonbox("Close this window",
nw << close window;
),
),
),
sample_output = vlistbox(
tb = table box(
string col box("Name", (dt:name << get values)),
number col box("Age", (dt:age << get values)),
string col box("Name", (dt:sex << get values)),
),
page break box(),
dist = dt << Distribution(
Continuous Distribution( Column( :weight ) ),
Nominal Distribution( Column( :age ) )
),
),
msword_button << set icon("WinFileSave"),
close_button << set icon("Stop"),
tb << set underline headings(1) << set column borders(1)
<< Set Shade Alternate Rows(1);
);