إدارة الملاحق في مخططات العرض التقديمي باستخدام PHP
استخدام الملاحق
تم إضافة طرق جديدة getShowLabelAsDataCallout() و setShowLabelAsDataCallout() إلى الفئة DataLabelFormat. تحدد هذه الطرق ما إذا كان ملصق البيانات للمخطط المحدد سيُعرض كملاحظة بيانات أو كملصق بيانات.
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Pie, 50, 50, 500, 400);
$chart->getChartData()->getSeries()->get_Item(0)->getLabels()->getDefaultDataLabelFormat()->setShowValue(true);
$chart->getChartData()->getSeries()->get_Item(0)->getLabels()->getDefaultDataLabelFormat()->setShowLabelAsDataCallout(true);
$chart->getChartData()->getSeries()->get_Item(0)->getLabels()->get_Item(2)->getDataLabelFormat()->setShowLabelAsDataCallout(false);
$pres->save("DisplayCharts.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
تعيين ملاحظة لمخطط الدونات
توفر Aspose.Slides لـ PHP عبر Java دعمًا لتعيين شكل ملاحظة ملصق بيانات السلسلة لمخطط الدونات. المثال التالي موضح أدناه.
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$chart = $slide->getShapes()->addChart(ChartType::Doughnut, 10, 10, 500, 500, false);
$workBook = $chart->getChartData()->getChartDataWorkbook();
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
$chart->setLegend(false);
$seriesIndex = 0;
while ($seriesIndex < 15) {
$series = $chart->getChartData()->getSeries()->add($workBook->getCell(0, 0, $seriesIndex + 1, "SERIES " . $seriesIndex), $chart->getType());
$series->setExplosion(0);
$series->getParentSeriesGroup()->setDoughnutHoleSize(20);
$series->getParentSeriesGroup()->setFirstSliceAngle(351);
$seriesIndex++;
}
$categoryIndex = 0;
while ($categoryIndex < 15) {
$chart->getChartData()->getCategories()->add($workBook->getCell(0, $categoryIndex + 1, 0, "CATEGORY " . $categoryIndex));
$i = 0;
while ($i < java_values($chart->getChartData()->getSeries()->size())) {
$iCS = $chart->getChartData()->getSeries()->get_Item($i);
$dataPoint = $iCS->getDataPoints()->addDataPointForDoughnutSeries($workBook->getCell(0, $categoryIndex + 1, $i + 1, 1));
$dataPoint->getFormat()->getFill()->setFillType(FillType::Solid);
$dataPoint->getFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
$dataPoint->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->WHITE);
$dataPoint->getFormat()->getLine()->setWidth(1);
$dataPoint->getFormat()->getLine()->setStyle(LineStyle->Single);
$dataPoint->getFormat()->getLine()->setDashStyle(LineDashStyle->Solid);
if ($i == java_values($chart->getChartData()->getSeries()->size()) - 1) {
$lbl = $dataPoint->getLabel();
$lbl->getTextFormat()->getTextBlockFormat()->setAutofitType(TextAutofitType::Shape);
$lbl->getDataLabelFormat()->getTextFormat()->getPortionFormat()->setFontBold(NullableBool::True);
$lbl->getDataLabelFormat()->getTextFormat()->getPortionFormat()->setLatinFont(new FontData("DINPro-Bold"));
$lbl->getDataLabelFormat()->getTextFormat()->getPortionFormat()->setFontHeight(12);
$lbl->getDataLabelFormat()->getTextFormat()->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$lbl->getDataLabelFormat()->getTextFormat()->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->LIGHT_GRAY);
$lbl->getDataLabelFormat()->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->WHITE);
$lbl->getDataLabelFormat()->setShowValue(false);
$lbl->getDataLabelFormat()->setShowCategoryName(true);
$lbl->getDataLabelFormat()->setShowSeriesName(false);
$lbl->getDataLabelFormat()->setShowLeaderLines(true);
$lbl->getDataLabelFormat()->setShowLabelAsDataCallout(false);
$chart->validateChartLayout();
$lbl->setX($lbl->getX() + 0.5);
$lbl->setY($lbl->getY() + 0.5);
}
$i++;
}
$categoryIndex++;
}
$pres->save("chart.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
الأسئلة المتكررة
هل يتم الاحتفاظ بالملاحق عند تحويل العرض التقديمي إلى PDF أو HTML5 أو SVG أو صور؟
نعم. الملاحق هي جزء من عرض المخطط، لذا عند تصدير إلى PDF، HTML5، SVG، أو الصور النقطية، يتم الاحتفاظ بها مع تنسيق الشريحة.
هل تعمل الخطوط المخصصة في الملاحق، وهل يمكن الحفاظ على مظهرها عند التصدير؟
نعم. تدعم Aspose.Slides تضمين الخطوط في العرض التقديمي وتتحكم في تضمين الخطوط أثناء عمليات التصدير مثل PDF، مما يضمن أن تبدو الملاحق متطابقة عبر الأنظمة المختلفة.