Từ một kịch bản shell bạn có thể sử dụng Unoconv mà là một dòng lệnh wrapper đơn giản để LibreOffice cho phép bạn chuyển đổi thành chất lượng hợp lý.
Để có giải pháp với đầu ra chất lượng cao hơn có thể được gọi trực tiếp từ PHP (và trên Linux), bạn có thể sử dụng API chuyển đổi tệp chuyên dụng chẳng hạn như Zamzar.
Mã nộp một tập tin PPT (hoặc PPTX) để quy đổi ra JPEG sẽ như sau (thông tin thêm trong documentation):
<?php
// Build request
$endpoint = "https://api.zamzar.com/v1/jobs";
$apiKey = "YOUR_KEY";
$sourceFilePath = "/tmp/my.ppt"; // Or PPTX
$targetFormat = "jpg";
$sourceFile = curl_file_create($sourceFilePath);
$postData = array(
"source_file" => $sourceFile,
"target_format" => $targetFormat
);
// Send request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $endpoint);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $apiKey . ":");
$body = curl_exec($ch);
curl_close($ch);
// Process response (with link to converted files)
$response = json_decode($body, true);
print_r($response);
?>
Nguồn
2017-11-03 23:29:13
Bạn có thể thử kịch bản OpenOffice Impress, vì nó có thể đọc (một số) PPT và hiển thị chúng, nhưng nhận được kết quả tương tự như những gì Powerpoint chính nó sẽ sản xuất sẽ bị đánh/bỏ lỡ. –
Vui lòng làm rõ: * .ppt (có thể doable) hoặc * .pptx (gần như không thể) –