Tạo Bản Trình Chiếu trong PHP

Tổng quan

Bài viết này hướng dẫn cách tạo một bản trình chiếu trong Aspose.Slides, thêm một hộp văn bản vào slide đầu tiên và lưu kết quả dưới dạng file. Nó cũng mô tả cách tạo và lưu một bản trình chiếu trống, và cách mở một bản trình chiếu hiện có ở định dạng được hỗ trợ và lưu nó sang định dạng khác. Một mục FAQ ngắn ở cuối đề cập tới các câu hỏi thường gặp về định dạng, mẫu, kích thước slide, đơn vị, việc sử dụng bộ nhớ, đa luồng, cấp phép, chữ ký số và hỗ trợ VBA.

Trước khi bắt đầu, cài đặt Aspose.Slides cho PHP thông qua Java bằng Composer và khởi động PHP/Java Bridge trên Apache Tomcat. Xem Installation để biết cài đặt đầy đủ. Các ví dụ dưới đây giả sử Tomcat đang chạy trên localhost:8080 và thư mục vendor của Composer nằm cạnh script.

Tạo bản trình chiếu PowerPoint

  1. Tạo một thể hiện của lớp Presentation. Một bản trình chiếu mới đã chứa sẵn một slide trống.
  2. Lấy slide đó từ bộ sưu tập trả về bởi Presentation::getSlides, bằng chỉ số 0.
  3. Thêm một hình chữ nhật bằng phương thức ShapeCollection::addAutoShape và đặt văn bản bằng TextFrame::setText.
  4. Lưu bản trình chiếu dưới dạng file PPTX bằng phương thức Presentation::save.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/vi/lib/aspose.slides.php");

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);
    $shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 400, 100);
    $shape->getTextFrame()->setText("Hello, Aspose.Slides!");
    $presentation->save(__DIR__ . "/hello.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Hai dòng require_once tải client PHP/Java Bridge từ Tomcat và các lớp Aspose.Slides từ gói Composer. Góc trên‑trái của hình chữ nhật cách mép trái 50 điểm và cách mép trên 50 điểm của slide, và hình chữ nhật có chiều rộng 400 điểm và chiều cao 100 điểm. File đã lưu chứa một slide với hình chữ nhật đó và văn bản của nó. Khi không có giấy phép, Aspose.Slides cũng thêm một dấu mạ đánh dấu đánh giá vào mỗi slide mà nó lưu; xem Licensing.

Tạo và lưu một bản trình chiếu

Để tạo một bản trình chiếu trống và lưu nó, tạo một thể hiện của lớp Presentation và lưu nó ở bất kỳ định dạng nào của enumeration SaveFormat. Kết quả là một bản trình chiếu có một slide trống.

<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/vi/lib/aspose.slides.php");

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation();
try {
    $presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Mở và lưu một bản trình chiếu

Để chuyển đổi một bản trình chiếu từ định dạng này sang định dạng khác, mở nó bằng cách truyền đường dẫn vào hàm khởi tạo Presentation, sau đó lưu nó ở định dạng mục tiêu. Aspose.Slides tự động phát hiện định dạng đầu vào, như PPT, PPTX hoặc ODP, từ chính file.

Ví dụ dưới đây giả sử có một bản trình chiếu OpenDocument tên Sample.odp nằm cạnh script và lưu nó dưới dạng PPTX.

<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/vi/lib/aspose.slides.php");

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation(__DIR__ . "/Sample.odp");
try {
    $presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Câu hỏi thường gặp

Tôi có thể lưu bản trình chiếu mới sang những định dạng nào?

Bạn có thể lưu dưới dạng PPTX, PPT, và ODP, và xuất ra PDF, XPS, HTML, SVG, và images, trong số các định dạng khác.

Tôi có thể bắt đầu từ mẫu (POTX/POTM) và lưu dưới dạng PPTX thông thường không?

Có. Tải mẫu và lưu sang định dạng mong muốn; các định dạng POTX/POTM/PPTM và các định dạng tương tự được hỗ trợ.

Làm sao để kiểm soát kích thước/ tỷ lệ khung hình của slide khi tạo bản trình chiếu?

Đặt kích thước slide (bao gồm các cài đặt sẵn như 4:3 và 16:9 hoặc kích thước tùy chỉnh) và chọn cách nội dung sẽ được thu phóng.

Đơn vị đo kích thước và tọa độ là gì?

Bằng điểm: 1 inch tương đương 72 đơn vị.

Làm sao để xử lý các bản trình chiếu rất lớn (có nhiều tệp media) để giảm việc sử dụng bộ nhớ?

Sử dụng chiến lược quản lý BLOB, giới hạn lưu trữ trong bộ nhớ bằng cách tận dụng các tệp tạm, và ưu tiên quy trình dựa trên tệp thay vì chỉ dùng luồng trong bộ nhớ.

Tôi có thể tạo/lưu các bản trình chiếu song song không?

Bạn không thể thao tác trên cùng một thể hiện Presentation từ nhiều luồng. Hãy chạy các thể hiện riêng biệt, cô lập cho mỗi luồng hoặc tiến trình.

Làm sao để loại bỏ dấu mạ dùng thử và các hạn chế?

Áp dụng giấy phép một lần cho mỗi tiến trình. Tệp XML giấy phép phải không bị chỉnh sửa, và việc thiết lập giấy phép nên được đồng bộ nếu có nhiều luồng tham gia.

Tôi có thể ký số PPTX tôi tạo không?

Có. Chữ ký số (thêm và xác minh) được hỗ trợ cho các bản trình chiếu.

Các macro (VBA) có được hỗ trợ trong các bản trình chiếu được tạo không?

Có. Bạn có thể tạo/chỉnh sửa dự án VBA và lưu các tệp hỗ trợ macro như PPTM/PPSM.