2016-04-25 63 views
0

功能* 這個函數是從ajax獲取數據後調用它的函數調用其中的一個文件在這裏我顯示的是來自數據庫的數據。這個文件的所有css部分在style標籤中使用,因爲它是樣式標籤在PDF PRIND爲文本,如果這一切CSS文件包括CSS文件夾,然後PDF是不正確的格式創建如何在yii2中創建PDF時創建css?

public function actionInvoicespacking(){ 
    $pdf = Yii::$app->pdf; 
    $modelShipment = Shipment::find()->orderBy('ship_id DESC')->one(); 
    if(count($modelShipment) == 0) { 

     $shipid= 1; 
    } else 
    { 
    $shipid= $modelShipment->ship_id; 

    } 
    $htmlContent = file_get_contents('http://localhost/shepherdlogistics_v1.0/backend/views/shipment/invoicespackingdata.php'); 
    $pdf->content = $htmlContent; 
    return $pdf->render(); 

} 

invoicespackingdata.php

<!DOCTYPE html> 
<html lang="en"> 

<head> 
    <title>Invoice</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="css/bootstrap.fontawesome.min.css"> 
    <link rel="stylesheet" href="css/stylepdf.css"> 
    <script src="js/jquery.min.js"></script> 
    <script src="js/bootstrap.min.js"></script> 
    <style type="text/css"> 
    body { 
     font-size: 18px; 
     font-family: cambria; 
    } 

    .nopadd { 
     padding: 0px; 
    } 
    </style> 
</head> 

<body> 
    <div class="container"> 
     <br> 
     <br> 
     <div class=""> 
      <div class="col-lg-2 nopadd"> 
       <img src="logopdf.png" alt="logo" width="100%"> 
      </div> 
      <div class="col-lg-10"> 
       <h1 style="font-size: 55px;font-weight: bold; padding: 23px 0px;"> 
       SHEPHERD LOGISTICS CO. W.L.L.</h1> 
      </div> 
     </div> 
</div> 
</div> 
+0

哪個PDF庫使用? – GAMITG

+0

在yii2添加使用kartik \ mpdf \ Pdf; –

回答

0

隨着demo種狀態:

任何<style>標籤將被跳過(必須使用cssInline屬性用於此)

如果您只有幾個款式添加到PDF,你可以通過它像這樣:

$pdf->content = $htmlContent; 
$pdf->cssInline = '.class1 {color: red} .class2 {color:blue}'; 

但是,如果你有很多的款式,你也可以考慮默認cssFile改爲你想用正確的CSS的任何文件。 (默認情況下,該屬性是@vendor/kartik-v/yii2-mpdf/assets/bootstrap.min.css