2009-03-17 3 views
5

Ich erstelle eine PDF-Datei dynamisch aus HTML/CSS mit dem cfdocument-Tag. Es gibt Inhaltsblöcke, die nicht mehrere Seiten umfassen sollen.Wie kann ich verhindern, dass Seitenumbrüche in CFDocument in der Mitte des Inhalts auftreten?

Nach einigem Suchen fand ich, dass der Stil "page-break-inside" gemäß den Dokumenten unterstützt wird. Bei meinen Tests ist die Deklaration "page-break-inside: move" jedoch nicht sinnvoll.

Haben Sie Vorschläge, wie Sie diese Stildeklaration erhalten oder alternative Vorschläge erhalten?

Hier ist ein Beispiel. Ich würde erwarten, dass der Inhalt im div-Tag nicht einen Seitenumbruch umfasst, aber das tut es. Der Stil "Seitenumbruch: Vermeiden" wird nicht berücksichtigt.

<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> 

Antwort

4

Keine ideale Lösung, aber ich habe Seitenumbrüche vor Blöcken gezwungen, die zusammen gehalten werden müssen. Verwenden Sie page-break-before, um vor dem Block einen Seitenumbruch auszulösen.

Ich glaube nicht, dass es eine Möglichkeit gibt, das Brechen innerhalb ausdrücklich zu verbieten (das wird von der PDF-Engine geehrt).

+0

Ich hoffte, das wäre nicht notwendig - die Inhaltshöhe ist sehr dynamisch. Ich denke, wenn dies die einzige Lösung ist, dann muss ich die Höhe irgendwie schätzen ... oder sehen, ob das, was ich tue, im Report Builder besser funktionieren würde. –

+0

Frustrierend, dass die Dokumentation sagt, dass dieser Stil unterstützt wird und dass er perfekt zu dieser Situation passt, aber nicht wirklich funktioniert. Einen Fehlerbericht jetzt einreichen. –

+0

Ich mag * diese Lösung nicht, aber es hat für mich funktioniert. – nedlud

Verwandte Themen