2009-03-17 16 views
5

Estoy generando un archivo PDF dinámicamente desde html/css usando la etiqueta cfdocument. Hay bloques de contenido que no quiero abarcar varias páginas.¿Cómo puedo evitar que el salto de página en CFDocument ocurra en medio del contenido?

Después de algunas búsquedas encontré que el estilo "page-break-inside" es compatible de acuerdo con los documentos. Sin embargo, en mis pruebas, la declaración "page-break-inside: avoid" no sirve.

¿Alguna sugerencia sobre cómo hacer funcionar esta declaración de estilo o si tiene sugerencias alternativas?

Aquí hay un ejemplo. Esperaría que el contenido en la etiqueta div no abarque un salto de página, pero lo hace. El estilo "page-break-inside: avoid" no se respeta.

<cfdocument format="flashpaper"> 
    <cfloop from="1" to="10" index="i"> 
     <div style="page-break-inside: avoid"> 
      <h1>Table Label</h1> 
      <table> 
       <tr><td>label</td><td>data</td></tr> 
       <tr><td>label</td><td>data</td></tr> 
       <tr><td>label</td><td>data</td></tr> 
       <tr><td>label</td><td>data</td></tr> 
       <tr><td>label</td><td>data</td></tr> 
       <tr><td>label</td><td>data</td></tr> 
       <tr><td>label</td><td>data</td></tr> 
       <tr><td>label</td><td>data</td></tr> 
       <tr><td>label</td><td>data</td></tr> 
      </table> 
     </div> 
    </cfloop> 
</cfdocument> 

Respuesta

4

No es una solución ideal, pero forcé los saltos de página antes de que los bloques se mantengan juntos. Use page-break-before para activar un salto de página antes del bloque.

No creo que haya una manera de prohibir específicamente la ruptura (eso es honrado por el motor de PDF).

+0

Espero que esto no sea necesario, la altura del contenido es muy dinámica. Supongo que si esta es la única solución, tendré que calcular la altura de alguna manera ... o ver si lo que estoy haciendo funcionaría mejor en el generador de informes. –

+0

Frustrante porque los documentos dicen que este estilo es compatible y se adapta perfectamente a esta situación, pero en realidad no funciona. Presentar un informe de error ahora. –

+0

No me gusta * esta solución, pero funcionó para mí. – nedlud

Cuestiones relacionadas