css - pagina - html para imprimir a4
¿Cómo personalizo el diseño de impresión de un elemento de la lista de SharePoint? (7)
Alternativamente, puede exportar a una hoja de cálculo e imprimir desde allí.
Necesito poder producir una impresión "bonita" de los valores de un elemento de una lista individual, con los siguientes objetivos:
- deshacerse de toda la navegación
- organizar los datos como aparecería en un formulario en papel típico (un requisito del cliente)
Estoy evitando usar InfoPath en este momento debido a otros problemas (que publicaré preguntas por separado para ...)
por ejemplo , tengo un elemento de lista individual que normalmente se muestra similar al siguiente ejemplo de DispForm.aspx
:
Necesito una versión impresa ( PrintForm.aspx
??) que se muestre de forma similar al siguiente ejemplo :
por lo que puedo decir, no puedo hacer esto simplemente modificando / creando un CSS personalizado.
también parece que no puedo hacer esto simplemente creando mi propia versión "impresa" de DispForm.aspx
.
cualquier sugerencia, ideas, enlaces serían muy útiles.
Con Sharepoint Designer, puede crear una página aspx personalizada que use una parte web de vista de datos para hacer esto ...
Podría usar CSS para ocultar toda la navegación, etc., que no necesita usar una hoja de estilo media="print"
, pero no podrá realizar los cambios exactos en el diseño que ha ilustrado.
Si no tiene que ser exactamente como el ejemplo, sería bastante trivial esconder todas las tablas menos el nombre-> valor y simplemente imprimir eso. Si realmente necesita fusionar campos y volver a diseñar la tabla, es probable que tenga que hackear el servidor.
¿Por qué no puedes crear tu propia versión de la página?
Crear un formulario de lista personalizado es probablemente lo que desea. Sin la página maestra adjunta o nada.
Aquí puede encontrar un tutorial que lo ayudará a comenzar:
http://office.microsoft.com/en-us/sharepointdesigner/HA101191111033.aspx
Disfrutar.
El enlace de @ mortenbpost era justo lo que necesitaba: crear una página nueva que contenga un formulario de lista personalizado
específicamente, esto es lo que necesita hacer para obtener una página personalizada "básica" para un elemento de la lista, desde la cual puede personalizarla completamente con XHTML / CSS:
primero
asegúrese de que su lista tenga todas las columnas que necesitará
segundo
a continuación se explica cómo crear una página de "vista" personalizada (se pueden seguir prácticamente los mismos pasos para una página de "edición" personalizada o "personalizada"):
- Abra MS Office SharePoint Designer
- Archivo -> Abrir sitio ...
- ingrese la URL de su sitio web
- Asegúrese de que el Panel de tareas "Lista de carpetas" esté visible (Paneles de tareas -> Lista de carpetas)
- Expande la carpeta "Listas"
- Debería ver entradas como las siguientes:
Announcements
Calendar
...
YOUR LIST NAME
... - Expande la entrada con YOUR LIST NAME
- Debería ver entradas como la siguiente
Attachments
Items
AllItems.aspx
DispForm.aspx
EditForm.aspx
NewForm.aspx
- Haga clic derecho en SU NOMBRE DE LA LISTA
- Seleccione Nuevo -> ASPX
- Cambie el nombre del archivo a algo significativo, como: PrintForm.aspx
- Abrir PrintForm.aspx
- Ver en modo "Split"
- En el panel Código, debería ver su punto de inserción dentro de un formulario html en blanco
- Insertar -> Controles de SharePoint -> Formulario de lista personalizada ...
- Seleccione SU NOMBRE DE LISTA del primer menú desplegable (Lista o biblioteca de documentos para usar en el formulario)
- Seleccione "Artículo" en el segundo menú desplegable (tipo de contenido para usar en el formulario)
- Seleccione "Mostrar formulario de elemento (usado para ver elementos de la lista)" ( aquí es donde elige entre ver , nuevo , editar )
- Desmarque "Mostrar barra de herramientas estándar" al crear una forma imprimible
- Haga clic en Aceptar
- En el panel Diseño, debería ver un diseño de tabla básico con etiquetas a la izquierda y valores a la derecha
- En el panel Código, debería ver el siguiente código para cada columna de su lista (este es para el tipo de columna de "línea de texto única"):
<tr> <td width="190px" valign="top" class="ms-formlabel"> <H3 class="ms-standardheader"> <nobr>Column name</nobr> </H3> </td> <td width="400px" valign="top" class="ms-formbody"> <xsl:value-of select="@Column_x0020_name"/> </td> </tr>
- Ahora puede simplemente tomar todas esas entradas
<xsl:value-of select="@ Column_x0020_name "/>
y hacer el diseño XHTML / CSS estándar - Para probar, guarda tu trabajo
- Luego, en un navegador web, navegue a su sitio web de SharePoint
- Seleccione un elemento para el que ya ha ingresado datos
- Elija "Ver elemento"
- En la barra de direcciones, reemplace DispForm.aspx con PrintForm.aspx
Algunas cosas para tener en mente:
- los espacios y los signos de puntuación hacen que el nombre de la columna sea molesto
- El nombre de la columna en el código tendrá una longitud máxima de 32; cualquier nombre más largo se truncará, por ejemplo:
- Nombre de columna de SharePoint: este es un nombre largo
se convierte en el código:this_x0020_is_x0020_a_x0020_long
- cualquier nombre de columna en el código que sería un duplicado será longitud 32 más un sufijo numérico. entonces, dado que la columna de arriba también existe, entonces tendríamos por ejemplo:
- Nombre de columna de SharePoint: este es un nombre largo también
se convierte en el código:this_x0020_is_x0020_a_x0020_long0
- si agrega columnas o modifica columnas, tendrá que agregarlas a mano a esta página (haga clic en Insertar -> Controles de SharePoint -> Formulario de lista personalizado ... en otra página "ficticia" para obtener el nombre correcto)
¡De nuevo, no podría haberlo hecho sin la respuesta de @ mortenbpost!
***** Ahora puedes simplemente tomar todas esas entradas y hacer un diseño XHTML / CSS estándar *****
¿Puedes expandir esto con un ejemplo de cómo hacerlo?
Esto no es una respuesta sino una nota a lo anterior.
Utilice un formulario de lista personalizado, pero tenga en cuenta que si alguna de las columnas tiene activado el control de versiones, no podrá acceder fácilmente a los "datos". Por ejemplo, si una de sus columnas es una columna de Notas y cada vez que alguien edita el campo de notas se agrega una nueva versión, entonces no se puede acceder a ninguna de ellas, ya que es esencialmente una "lista" separada. Estoy atascado en este tema ya que también tengo un cliente que solicita una copia impresa que "no parece que sea de SharePoint".