2011-09-20 38 views
4

我使用比薩生成以下佈局的某些PDF文件長文:Django的PDF:頁面佈局使用比薩

@page { 
     size: a4; 
     @frame header { 
      top: 5.4cm; 
      bottom: 4cm; 
      left: 1.2cm; 
      right: 1.2cm; 
     } 
     @frame main { 
      top: 10.5cm; 
      bottom: 4cm; 
      left: 1.2cm; 
      right: 1.2cm; 
     } 
     @frame footer { 
      top: 26cm; 
      left: 1.2cm; 
      right: 1.2cm; 
     } 
     } 

有時主框架的內容是不足夠短,以適應單頁所以它也使用頁腳框架的空間。相反,我想在第二頁的主框架空間中留下其餘的文本(並保持其餘框架的空間清晰)。有什麼建議麼?

回答

10

比薩不是特別容易弄清楚。我用它來生成幾種不同格式的報告。

我不把我的主要內容放在一個框架內。此外,它全部以英寸/字母大小,但我想給你準確的設置,併爲多個頁面工作。

您的問題可能通過向@page<keepinframe></keepinframe> 標籤添加邊距來解決。

<document pagesize='letter'> 
<head> 
    <title>{{ title }}</title> 
    <style type="text/css"> 
     @page { 
      size: letter portrait; 
      margin: 1.0in 0.25in 0.5in 0.25in; 
      padding: 0; 

      @frame header { 
       -pdf-frame-content: headerContent; 
       width: 8in; 
       top: 0.5in; 
       margin-left: 0.5in; 
       margin-right: 0.5in; 
       height: 1.0in; 
      } 
      @frame footer { 
       -pdf-frame-content: footerContent; 
       width: 8in; 
       bottom: 0in; 
       margin-left: 2cm; 
       margin-right: 2cm; 
       height: 1cm; 
      } 
     } <!-- end of @page bracket --> 

     <!-- add content styles here --> 
     h1 { text-align: middle; font-size: 18px; } 
    </style> 
</head> 
<body> 
<div id='headerContent'> 
    <!-- header content --> 
</div> 
<div> 
    <keepinframe> 
    <!-- Content --> 
    </keepinframe> 
</div> 
<div id='footerContent'> 
    <!-- footer content --> 
    <pdf:pagenumber> 
</div> 
</body> 
</document> 
+0

你是對的,它是不容易找出,6年後,仍然是這種情況!無論如何,我一直在遇到一個問題,你有什麼想法嗎?問題:https://stackoverflow.com/q/45534895/720508 –