پشتیبانی از فونت فارسی در استفاده از کتابخانه Pchart و یا jpgraph برای طراحی چارت

neda4030

New Member
سلام دوستان

من میخوام از یکی از کتابخانه های PHP که برای رسم چارت ها است استفاده کنم که از فونت فارسی پشتیبانی کنه
اون طور که من تحقیق کردم قویترین کتابخانه ها برای رسم چارت در php کتابخانه های jpgraphو pchart هستند
من ازین کتابخانه ها استفاده کردم ولی فونت فارسی را ساپورت نمیکرد، تا حالا کسی در php برای رسک چارت ها تونسته از فونته فارسی استفاده کنه؟
از چه کتابخانه ای استفاده شده؟

ممنون میشم اگر اطلاعاتی در این زمینه دارید من راهنمایی بکنید

با تشکر
 

neda4030

New Member
دوستان کسی اطلاعی در این مورد نداره؟

کسی نیست که تو php از یه کتابخونه استفاده کرده باشه و با استفاده از اون کتابخونه بتونه یه سری نمودار و چارت ایجاد کنه مثل نمودار میله ای و ... بعد تو نموداراش از فونت فارسی هم استفاده کرده باشه
 

neda4030

New Member
سلام دوستان

من که جواب سوالم با بررسی های زیاد گرفتم بالاخره
البته از Masima هم ممنون هستم، در این جا توضیحی در ارتباط با رسم نمودارها در PHP میدم که میتونیم از زبان فارسی هم استفاده کنیم، تا دوستان دیگه ای که با این مشکل روبه رو شدن مثل من این همه وقت نزارن، چون منبع فارسی و انگلیسی کاملی در این زمینه نیست.

خب میریم سر اصل مطلب:
برای رسم نمودار در PHP باید از کتابخانه های که در این زمینه وجود داره استفاده کنیم، 3تا از بهترین این کتابخانه ها عبارتند از: Libchart، jpgraph و pChart در این بین کتابخانه jpgraph از بقیه قویتره، من فعلا از کتابخانه pChart استفاده کردم...

بعد از دانلود این کتابخانه از سایت PChart ، میتونیم از راهنماهایی که در همین سایت برای استفاده از توابع وجود داره استفاده کنیم، یه مستندی به نام Documentation در همین سایت است که کاملا استفاده از این کتابخانه را تشریح کرده.

خب حالا میرسیم به قسمت کد زدن:
نکته: ما میخواستیم از فونت فارسی هم استفاده کنیم، برای این منظور باید fagd.php را دانلو کنید، من پیشنهاد میکنم برای اینکه به مشکل نخورید بهتره که این فایل از http://persiangd.berlios.de/doku.php دانلود کنید.

حالا باید فایل fagd.php را بالای کدتون include کنید و با توجه به نمونه کدهایی که تو سایت pchart وجود داره کدنویسی انجام بشه. حالا میمونه استفاده از فونت فارسی:

کافیه از این خط به تنهایی استفاده کنید:
PHP:
$text1 = fagd(iconv("windows-1256","Utf-8","تابستان"),'fa','normal');
 
آخرین ویرایش:

neda4030

New Member
اینم یه کد با استفاده از کتابخانه Pchart، شاید بتونه کمکم کننده باشه:green:

PHP:
<?php
ini_set("error_reporting","E_ALL & ~E_NOTICE & ~E_STRICT");

// Set the content-type
header("Content-type: image/png");
include("fagd.php");

/* pChart library inclusions */
include("../class/pData.class.php");
include("../class/pDraw.class.php");
include("../class/pPie.class.php");
include("../class/pImage.class.php");
/* pData object creation */
$MyData = new pData();
/* Data definition */
$MyData->addPoints(array(20,30,25,10),"Value");
/* Labels definition */
$str="ایران";
$text0 = fagd(iconv("windows-1256","Utf-8","بهار"),'fa','normal');
$text1 = fagd(iconv("windows-1256","Utf-8","تابستان"),'fa','normal');
$text2 = fagd(iconv("windows-1256","Utf-8","پایئز"),'fa','normal');
$text3 = fagd(iconv("windows-1256","Utf-8","زمستان"),'fa','normal');

$MyData->addPoints(array($text0,$text1,$text2,$text3),"Legend");
$MyData->setAbscissa("Legend");
/* Create the pChart object */
$myPicture = new pImage(300,150,$MyData);
/* Draw a gradient background */
$myPicture->drawGradientArea(0,0,300,300,DIRECTION_HORIZONTAL,array("StartR"=>220,"StartG"=>220,"StartB"=>220,"EndR"=>180,"EndG"=>180,
"EndB"=>180,"Alpha"=>100));
/* Add a border to the picture */
$myPicture->drawRectangle(0,0,299,149,array("R"=>0,"G"=>0,"B"=>0));
/* Create the pPie object */
$PieChart = new pPie($myPicture,$MyData);
/* Enable shadow computing */
$myPicture->setShadow(true);
/* Set the default font properties */
$myPicture->setFontProperties(array("FontName"=>"B nazanin.ttf'","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
/* Draw a splitted pie chart */
$PieChart->draw3DPie(150,100,array("Radius"=>80,"DrawLabels"=>TRUE,"DataGapAngle"=>10,"DataGapRadius"=>6,"Border"=>TRUE));
/* Render the picture (choose the best way) */
$myPicture->autoOutput("pie.png");

?>
 

جدیدترین ارسال ها

بالا