PowerPoint Presentation Manipulation in PHP using Aspose.Slides REST API

Getting fowllowing error when trying to install via composer
git@github.com:aspose-slides/Aspose.Slides-Cloud-SDK-for-PHP.git
Cloning into ‘/home/rahul/Documents/vendor/aspose/slides-sdk-php’…
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Now trying to download from dist
  • Installing aspose/slides-sdk-php (dev-master 661ee12): Downloading (connectiDownloading (failed)

[Composer\Downloader\TransportException]
The “https://api.github.com/repos/aspose-slides/Aspose.Slides-Cloud-SDK-for -PHP/zipball/661ee122fc8a914345fdd564f34fd76ab6aa8bde” file could not be do
wnloaded (HTTP/1.1 404 Not Found)

@rbhandari,

I have observed your requirements and suggest you to please try downloading the SDK directly from this Git link. Please share with us if there is still an access issue.

Hey @mudassir.fayyaz

I see the slides to have dependency storage sdk. Do i need to download it separately too (storage).

trying to do this

# For complete examples and data files, please go to https://github.com/aspose-slides-cloud/aspose-slides-cloud-php
<?php
require_once realpath(__DIR__ . '/..') . '/vendor/autoload.php';
require_once realpath(__DIR__ . '/..') . '/Utils.php';
use Aspose\Slides\SlidesApi;
use Aspose\Slides\AsposeApp;
class Slides {
	public $slidesApi;
	public function __construct() {
		AsposeApp::$appSID = Utils::appSID;
		AsposeApp::$apiKey = Utils::apiKey;
		$this->slidesApi = new SlidesApi();
	}
	public function getSlideWithFormat() {
		$fileName = "sample.pptx";
		Utils::uploadFile($fileName);
		$result = $this->slidesApi->GetSlideWithFormat($fileName, $slideIndex = 1, $format = "pdf", $width = "", $height = "", $folder = "", $storage = "");
		$fh = fopen(realpath(__DIR__ . '/../../..') . '/Data/Output/Test.png', 'w');
		fwrite($fh, $result);
		fclose($fh);
	}
}
$slides = new Slides();
$slides->getSlideWithFormat();
?>

Thanks
Rahul

I found the example code . Was jsut looking for Utils.php.
Whats the process to get the trail license key Slides Cloud product.

@rbhandari,

I suggest you to please visit this page to start free trial. Aspose offers 30 MB/ month free that you can use to evaluate the API with no restrictions on API features. I hope the shared information will be helpful.

I am getting this error
Error: Can’t read MSCDFileSystem. => Insufficient header length… Method: Convert slide to some format… Parameters: name

@rbhandari,

I have observed your comments and request you to please share the source presentation and used sample code reproducing the issue on your end. We will investigate the issue further on our end on provision of requested information.

@mudassir.fayyaz It seem to be not working for any ppt. It was just a sample ppt

http://rem.webcodingplace.com/wp-content/uploads/2017/03/SamplePPTX.pptx

I used this code

<?php
require_once  'vendor/autoload.php';
require_once  'Utils.php';
use Aspose\Slides\SlidesApi;
use Aspose\Slides\AsposeApp;
class Slides {
	public $slidesApi;
	public function __construct() {
		AsposeApp::$appSID = Utils::appSID;
		AsposeApp::$apiKey = Utils::apiKey;
		$this->slidesApi = new SlidesApi();
	}
	public function getSlideWithFormat() {
		$fileName = "sample1.pptx";
		print_r(Utils::uploadFile($fileName));
		//exit;

		$result = $this->slidesApi->GetSlidesImages($fileName);
		print_r($result);

		
		$result = $this->slidesApi->GetSlideWithFormat($fileName, $slideIndex = 1, $format = "jpg", $width = "", $height = "", $folder = "", $storage = "");
		print_r($result);
		
		//$fh = fopen(realpath(__DIR__ . '/../../..') . '/Data/Output/Test.png', 'w');
		//fwrite($fh, $result);
		//fclose($fh);
	}
}
$slides = new Slides();
$slides->getSlideWithFormat();
?>

@rbhandari,

We are investigating the issue on our end and will share the feedback with you as soon as possible. I have also observed that you are probably using documentation article, Save a PowerPoint slide as image. I suggest you to please try using the sample code given in referred documentation link with a very simple presentation. We will also share the feedback with you as soon as possible.

I am using the sample code from that doc. It seem to fail. File seem to upload but wont extract image.

I am getting auth errors now.
Error: Authentication failed!. URL: http://api.aspose.cloud/v1.1/slides/test.pptx/slides/1?appSid=0b329084-6c5e-485e-bd63-ff79e846551a&amp;format=jpg&amp;signature=3J2gwqHGEBMxxGq291UbhRU6G3U&arubalp=0b877c39-7deb-497c-9a0f-3c9752c7ff

@rbhandari,

We are looking into this and will get back to you as soon as possible.

Any update on this?

@rbhandari,

Our product team has investigated the issue on their end and from error details, it seems either the presentation file that you are trying to access is missing on storage path you are using or that may be corrupt. Please make sure, if you are pointing to correct file path. Also, please ensure you are initializing storage as well on your end. For more about this, please visit documentation article, working with storage. You please first need to make sure if you are able to download and upload the presentation to storage. Please make sure if you are initializing storage in your application as mentioned in proposed documentation link.

@rbhandari

Please note since Aspose.Slides Cloud 19.5 release we have introduced API Version V3. It is an improved API version in terms of memory management and API structure. In this version, we have introduced built in storage methods for storage operations. Now you do not need to use Aspose.Storage API anymore. Please check the updated Aspose.Slides Cloud SDK for PHP for details and feel free to contact us for any questions or concerns.