PHP code example of cloudconvert / cloudconvert-laravel
1. Go to this page and download the library: Download cloudconvert/cloudconvert-laravel library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cloudconvert / cloudconvert-laravel example snippets
return [
/**
* You can generate API keys here: https://cloudconvert.com/dashboard/api/v2/keys.
*/
'api_key' => env('CLOUDCONVERT_API_KEY', ''),
/**
* Use the CloudConvert Sanbox API (Defaults to false, which enables the Production API).
*/
'sandbox' => env('CLOUDCONVERT_SANDBOX', false),
/**
* You can find the secret used at the webhook settings: https://cloudconvert.com/dashboard/api/v2/webhooks
*/
'webhook_signing_secret' => env('CLOUDCONVERT_WEBHOOK_SIGNING_SECRET', '')
];
use \CloudConvert\Laravel\Facades\CloudConvert;
use \CloudConvert\Models\Job;
use \CloudConvert\Models\Task;
CloudConvert::jobs()->create(
(new Job())
->setTag('myjob-123')
->addTask(
(new Task('import/url', 'import-my-file'))
->set('url','https://my-url')
)
->addTask(
(new Task('convert', 'convert-my-file'))
->set('input', 'import-my-file')
->set('output_format', 'pdf')
->set('some_other_option', 'value')
)
->addTask(
(new Task('export/url', 'export-my-file'))
->set('input', 'convert-my-file')
)
);
use \CloudConvert\Models\Job;
$job = (new Job())
->addTask(new Task('import/upload','upload-my-file'))
->addTask(
(new Task('convert', 'convert-my-file'))
->set('input', 'upload-my-file')
->set('output_format', 'pdf')
)
->addTask(
(new Task('export/url', 'export-my-file'))
->set('input', 'convert-my-file')
);
$cloudconvert->jobs()->create($job);
$uploadTask = $job->getTasks()->whereName('upload-my-file')[0];
$inputStream = fopen(Storage::path('my/input.docx'), 'r');
CloudConvert::tasks()->upload($uploadTask, $inputStream);
namespace App\Listeners;
use CloudConvert\Models\WebhookEvent;
use CloudConvert\Models\Job;
use CloudConvert\Models\Task;
use Illuminate\Support\Facades\Log;
class CloudConvertEventListener
{
public function onJobFinished(WebhookEvent $event) {
$job = $event->getJob();
$job->getTag(); // can be used to store an ID
$exportTask = $job->getTasks()
->whereStatus(Task::STATUS_FINISHED) // get the task with 'finished' status ...
->whereName('my-export-task')[0]; // ... and with the name 'my-export-task'
// $exportTask->getResult() ...
}
public function onJobFailed(WebhookEvent $event) {
$job = $event->getJob();
$job->getTag(); // can be used to store an ID
$failingTask = $job->getTasks()->whereStatus(Task::STATUS_ERROR)[0];
Log::error('CloudConvert task failed: ' . $failingTask->getId());
}
public function subscribe($events)
{
$events->listen(
'cloudconvert-webhooks::job.finished',
'App\Listeners\CloudConvertEventListener@onJobFinished'
);
$events->listen(
'cloudconvert-webhooks::job.failed',
'App\Listeners\CloudConvertEventListener@onJobFailed'
);
}
}
namespace App\Providers;
use Illuminate\Support\Facades\Event;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
];
/**
* The subscriber classes to register.
*
* @var array
*/
protected $subscribe = [
'App\Listeners\CloudConvertEventListener',
];
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.