ورود

View Full Version : نحوه درست کردم فرم پرینت



googoli
دوشنبه 10 شهریور 1393, 11:49 صبح
با سلام
می خواستم بدونم که چطوری می تونم سایز یک صفحه رو برای پرینتر طراحی کنم
مثلا صفحه من A5 هست ایتم ها رو باید بر چه اساسی بچینم که دقیقا یه صفحه A5 بشه

MMSHFE
چهارشنبه 12 شهریور 1393, 10:07 صبح
میتونید چنین کدی بگذارین:

<style media="print" type="text/css">
body {
height: 210mm;
width: 128mm;
}
</style>
دقت کنید که بخاطر "media="print این قالب فقط موقع چاپ اعمال میشه. اندازه ها (margin و...) رو هم میتونید برحسب cm و in و mm و... تنظیم کنید.

googoli
شنبه 22 شهریور 1393, 10:06 صبح
ممنون از وقتی که گذاشتید
استاد من الان تمام تنظیمات رو انجام دادم فقط به یه مشکلی بر خوردم اون هم این هست که
من وقتی می خوام صفحه که پرینت کنم صدا بزنم css ها و چیزهای دیگه هم با اون لود میشه در صورتی که من می خوام ایتم هایی که من چیدم اجرا بشه در این خصوص
من باید چکار کنم

MMSHFE
شنبه 22 شهریور 1393, 14:00 عصر
منظورتون رو متوجه نشدم. خوب CSSها باید بارگذاری بشه تا قالب کار کنه. توی چاپ که نمیفته این کدها.

googoli
شنبه 22 شهریور 1393, 19:13 عصر
استاد من تمام css ها رو که می خواستم این طوری بارگذاری کردم


public function init()
{
$this->registerCoreCss();
$this->registerScript();
parent::init();
}

public function getAssetsBase()
{
if ($this->_assetsBase === null) {
$this->_assetsBase = Yii::app()->getAssetManager()->publish(
Yii::getPathOfAlias('application.assets'),
false,
-1,
defined('YII_DEBUG') && YII_DEBUG
);
}
return $this->_assetsBase;
}

protected function registerCoreCss()
{
$css_arr = array('bootstrap.css','main.css','styles.css','tab le.css','table2.css');
foreach($css_arr as $filename)
Yii::app()->clientScript->registerCssFile($this->getAssetsBase().'/css/'.$filename);
}

protected function registerScript(){
$js_arr = array('bootstrap.min.js','menu.js'); // put what js file name that you need to import from admin assets folder
foreach($js_arr as $filename){
Yii::app()->getClientScript()->registerScriptFile($this->getAssetsBase().'/js/'.$filename);
}
}


حالا وقتی من صفحه پرینت رو فرخوانی می کنم تمام این ها در صفحه بارگذاری میشه
درصورتی که من می خوام یه فایل css بیشتر بارگذاری نشه

MMSHFE
دوشنبه 24 شهریور 1393, 19:11 عصر
یک راه اینه که اون قالبی که میخواین برای چاپ باشه، Layout جدا داشته باشه و CSSها و... رو توی Layout بارگذاری کنید و از داخل init و... بردارین. راه دیگه اینه که کلاً HTML صفحه چاپ جدا باشه (کامل) و با renderPartial نشونش بدین.