2016-03-21 146 views
2

我目前使用WKHTMLTOPDF通過我的Laravel應用程序生成PDF。 PDF模板使用Bootstrap 3.3.6WKHTMLTOPDF從左邊緣刪除文本

我目前看到的是文本,字體,佈局完美呈現,但文字從左邊距切斷。

如果我刪除Bootstrap CSS的調用,它不會切斷文本,但表格等不會正確對齊/佈局。它必須是引起這個問題的Bootstrap中的一些東西。模板的

<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css" rel='stylesheet' type='text/css'> 
<link href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700" rel='stylesheet' type='text/css'> 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"> 

<style> 
body { 
    width: auto !important; min-width: 100% !important; 
    font-family: 'Lato'; 
} 
.page-break { 
    page-break-after: always; 
} 
</style> 

width: auto !important; min-width: 100% !important;使更多的文字中,但它仍然不是很完美(見下面的截圖在第二頁上):

PDFPDF2

任何包裝在<p> </p>中的文字都可以正確地放在PDF上,但標題和表格等在左側被截斷。

控制器代碼:

$pdf = PDF::loadView('reports.view-full-audit-report', $data) 
->setPaper('a4') 
->setOrientation('portrait') 
->setOption('encoding', 'utf-8'); 
return $pdf->download('auditReport.pdf'); 

有沒有人經歷過這個?如果是這樣,你是如何解決它的?如果您需要更多代碼示例,請告訴我。非常感謝。

回答

0

我曾經在FrappéFramweork和ERPNext上體驗過這個。出於神祕原因,DocType(銷售發票)的HTML呈現將執行此操作。到目前爲止,我找到了兩種解決方法: 1.根據最終文檔大小,在HTML代碼中設置視口大小。例如,8.5×11信紙大小頁面將是:

<style> 
@media screen { 
    .print-format { 
     width: 21.59cm; 
     min-height: 27.94cm; 
     padding: 0.0cm; 
    } 
} 
</style> 

我想你可以用英寸或其它公認的測量,以及。你必須通過執行上述方案申報的HTML或神社模板足夠的視口大小

  • 如果一切都失敗了,我解決我的問題或者與下面的樣式和HTML:

    <style> 
        div.general{ 
         position: relative; 
         top: 0.0cm; 
         /*left: 0.0cm; */ 
        } 
        div.document_size{ 
         position: absolute; 
         width: 21.59cm; 
         height: 27.94cm; 
        } 
    </style> 
    <div class="general"> 
        <div class="document_size"> 
         <!-- YOUR HTML GOES HERE --> 
        </div> 
    </div> 
    
  • 最後,要仔細定位在頁面上的元素,使用span標籤,用聲明的類風格,所以你可以把它在絕對數量上面創建的div。距離是從文件的左上角(原點)開始測量的:

    span.item1 { position:absolute; top:1cm; 左:1cm; }

  • 一旦放在跨度類=「物品1」DIV標籤如上內,你可以把你想在其中任何東西。我認爲這些span標籤是一種座標系標記,可以確保每一代wkhtmltopdf的輸出一致。