Настройка областей построения диаграмм презентаций в PHP
Получить ширину и высоту области построения диаграммы
Aspose.Slides для PHP через Java предоставляет простой API для .
- Создайте экземпляр класса Presentation.
- Получите первый слайд.
- Добавьте диаграмму с данными по умолчанию.
- Вызовите метод Chart.validateChartLayout перед получением фактических значений.
- Получает фактическое положение по оси X (слева) элемента диаграммы относительно левого верхнего угла диаграммы.
- Получает фактическую позицию сверху элемента диаграммы относительно левого верхнего угла диаграммы.
- Получает фактическую ширину элемента диаграммы.
- Получает фактическую высоту элемента диаграммы.
# Создать экземпляр класса Presentation
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350);
$chart->validateChartLayout();
$x = $chart->getPlotArea()->getActualX();
$y = $chart->getPlotArea()->getActualY();
$w = $chart->getPlotArea()->getActualWidth();
$h = $chart->getPlotArea()->getActualHeight();
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Установить режим компоновки области построения диаграммы
Aspose.Slides для PHP через Java предоставляет простой API для установки режима компоновки области построения диаграммы. Методы setLayoutTargetType и getLayoutTargetType добавлены в класс ChartPlotArea. Если компоновка области построения определена вручную, это свойство указывает, следует ли размещать область построения по её внутренней части (не включая оси и подписи осей) или по внешней части (включая оси и подписи осей). Существует два возможных значения, определённых в перечислении LayoutTargetType enum.
- LayoutTargetType::Inner — указывает, что размер области построения определяет размер области построения без учёта делений и подписей осей.
- LayoutTargetType::Outer — указывает, что размер области построения определяет размер области построения, включая деления и подписи осей.
Пример кода приведён ниже.
# Создать экземпляр класса Presentation
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 100, 600, 400);
$chart->getPlotArea()->setX(0.2);
$chart->getPlotArea()->setY(0.2);
$chart->getPlotArea()->setWidth(0.7);
$chart->getPlotArea()->setHeight(0.7);
$chart->getPlotArea()->setLayoutTargetType(LayoutTargetType::Inner);
$pres->save("SetLayoutMode_outer.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
В каких единицах возвращаются фактические x, фактические y, фактическая ширина и фактическая высота?
В пунктах; 1 дюйм = 72 пункта. Это единицы координат Aspose.Slides.
Чем область построения отличается от области диаграммы по содержимому?
Область построения — это область отрисовки данных (серии, линии сетки, трендовые линии и т.п.); область диаграммы включает окружающие элементы (заголовок, легенду и т.п.). В 3‑D диаграммах область построения также включает стены/пол и оси.
Как интерпретируются x, y, ширина и высота области построения при ручной компоновке?
Это дробные значения (0–1) от общего размера диаграммы; в этом режиме автоматическое позиционирование отключено, и используются заданные вами дроби.
Почему положение области построения изменилось после добавления/перемещения легенды?
Легенда размещается в области диаграммы за пределами области построения, но влияет на компоновку и доступное пространство, поэтому область построения может смещаться, когда включено автоматическое позиционирование. (Это стандартное поведение диаграмм PowerPoint.)