PDA

View Full Version : خروجی ورد یا pdf در Yii 1



Tarragon
دوشنبه 10 فروردین 1394, 12:13 عصر
سلام
یه قسمت دارم که باید ازش خروجی ورد یا pdf بگیرم.
خیلی از extension هارو هم امتحان کردم اما یا با Unicode مشکل داشتن یا خیلی سنگین بودن.
ممنون می شم اگر روشی رو معرفی کنید که از حروف فارسی پشتیبانی کنه و همچنین زیاد سنگین نباشه.
سپاس فراوان.
یا علی.

vahid78
دوشنبه 10 فروردین 1394, 12:30 عصر
من از اکستنشن Yii-PDF استفاده میکنم که به نوعی از کلاس قدرتمند MPDF از PHP استفاده میکنه

http://www.yiiframework.com/extension/pdf

Tarragon
دوشنبه 10 فروردین 1394, 12:32 عصر
سلام
اتفاقا من همین رو هم تست کردم اما متاسفانه حروف فارسی رو به ? تبدیل می کرد.

vahid78
دوشنبه 10 فروردین 1394, 13:45 عصر
این کنترلر من هست:

public function generatePDF($models,$search)
{
$this->layout='//layouts/print';
$mPDF1 = Yii::app()->ePdf->mpdf();
$mPDF1 = Yii::app()->ePdf->mpdf('', 'A4');
$mPDF1->WriteHTML($this->render('index',array(
'models' => $models,
'model' => $search,
),true));
$filename = "report_temp/".time()."report.pdf";

$mPDF1->Output($filename,EYiiPdf::OUTPUT_TO_DOWNLOAD);


}

بعد از اون در مسیر mpdf و پوشه ttfonts فونت مورد نظر خودتون را قرار میدین و در پوشه mpdf فایل config_fonts.php فونت را به معرفی می کنید:


"yekan" => array(
'R' => "yekan.ttf",
),

Tarragon
دوشنبه 10 فروردین 1394, 14:25 عصر
سلام
لطفا layout فایل print رو هم قرار بدید.
سپاس

vahid78
دوشنبه 10 فروردین 1394, 15:00 عصر
فایل print layout طبق theme کاری خودم درست کردم با این حال:


<?php
$baseUrl = Yii::app()->theme->baseUrl;
$cs = Yii::app()->getClientScript();
?>
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="utf-8">
<title><?php echo CHtml::encode($this->pageTitle); ?></title>
<!-- Bootstrap -->
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/main.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/rtl.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/form.css" />
<link href="<?php echo $baseUrl ?>/css/bootstrap.rtl.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="<?php echo $baseUrl ?>/font-awesome/css/font-awesome.min.css" />
<link href="<?php echo $baseUrl ?>/css/style.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="/css/gridview.css" media="print" />
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<style type="text/css">
@font-face {
font-family: 'yekan';
src: url('<?php echo $baseUrl ?>/fonts/yekan.eot');
src: local('?'), url('<?php echo $baseUrl ?>/fonts/yekan.woff') format('woff'), url('../fonts/yekan.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
body {
background: white;
font-family: "yekan" !important
}
a {
color: black !important;
}
</style>
<div class="container" style="margin-top:10px">
<div class="col-md-12" style="background:#ECECEC;border-radius: 15px;margin-bottom: 10px">
<div class="col-md-5 pull-right" style="width: 75%;float:right;color:#47A447;">
<img src="images/logo.png" style="height:50px;margin: 10px;vertical-align:middle" />
عنوان
</div>
<div style="width: 15%;float:left;padding:10px;text-align:center;font-size:smaller">
<?php echo Yii::app()->jdate->date("Y/m/d"); ?>
<br/>
<?php echo Yii::app()->jdate->date("H:i:s"); ?>
</div>
<div class="bclear"></div>
</div>

<?php echo $content ?>

<div class="col-md-12" style="margin-top: 15px;">
<div class="alert alert-info">
کلیه حقوق ...
</div>
<div class="bclear"></div>
</div>
</div>
</body>
</html>

Tarragon
دوشنبه 10 فروردین 1394, 15:26 عصر
سلام
فایل رو ببینید.
مشکل من اینه: 129891

Tarragon
چهارشنبه 12 فروردین 1394, 20:15 عصر
up.................