Erste Schritte

Aufruf erfolgt über REST oder SOAP.

Aufruf REST

Aufruf SOAP

Beispiel zur Erstellung eines ePapers über SOAP

Zunächst muss ein API Client initialisiert werden, um den Service zu nutzen.

$wsdl = 'http://epaper.1000grad.com/html/api/v2/epaper-wsdl'; //set wsdl url    
$apikey = 'IHR API KEY'; //set apikey    
$client = new SoapClient($wsdl, array());    //start create epaper

PDF zum Server übertragen

Im ersten Schritt muss ein PDF dem Service zugänglich gemacht werden. Dies erfolgt über ein Formular-Upload an folgende URL: http://epaper.1000grad.com/html/api/v2/pdf-upload. Dabei muss der Api-Key sowie das PDF-Dokument als Parameter gesendet werden, Parameter: apikey und file

Eine Möglichkeit den Upload zu implementieren bietet cURL. (php: cURL - Manual)

//url to upload a pdf document
$uploadUrl = 'http://epaper.1000grad.com/html/api/v2/pdf-upload';     
$file = realpath('./document.pdf'); //path to your pdf file    

//set post params for curl request    
$postParams = array(
    'file' => "@" . $file,      
    'apikey' => $apikey    
);    

$ch = curl_init(); //initialize a cURL session    
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //response will return as string    
curl_setopt($ch, CURLOPT_POST, 1); //request is send by POST    
curl_setopt($ch, CURLOPT_URL, $uploadUrl); //set request url    
curl_setopt($ch, CURLOPT_POSTFIELDS, $postParams); //set the fields to send    
$response = curl_exec($ch); //execute request    
curl_close($ch); //close handler    

$result = json_decode($response, true); //decode response as array    
if (!$result) {      
    die('Error: Could not decode response!');    
} elseif (!$result['success']) {      
    die('Error: '.$result['errors']['errorDesc']);    
}    
$pdfId = $result['pdfId']; //set pdfId to use in next steps

Nach einem erfolgreichem Upload erhalten Sie eine PDF ID, mit der Sie im nächsten Schritt ein ePaper anlegen können.

ePaper erstellen

try {      
    $epaperId = $client->epaperCreateFromPdf($apikey, $pdfId);    
} catch (SoapFault $e) {      
    die('Error: '.$e->getMessage());    
}    
echo 'ePaper created with ID: '.$epaperId;    //end create epaper    

//now start the render process    
try {      
    $epaperId = $client->epaperStartRenderprocess($apikey, $epaperId);    
} catch (SoapFault $e) {      
    die('Error: '.$e->getMessage());    
}    
echo 'Render process started, please wait...'; 

Nun verarbeitet der Service das PDF und rendert es. Das Rendern benötigt je nach Größe (Seiten, Auflösung, ..) und Schwierigkeit (Anzahl der Objekte, …) unterschiedlich viel Zeit (mehrere Minuten). Daher gibt es mit epaperGetStatusString($epaperId) die Möglichkeit den Status des ePapers abzurufen. Sobald das ePaper fertig ist, wird der Status auf 'ready' gesetzt. Nachdem das Rendern beendet wurde, haben Sie die Möglichkeit die weiteren Funktionen zur Bearbeitung aufzurufen.

Weitere Verarbeitung

 

ePaper Status abfragen

$client = new SoapClient($wsdl, array());    
$status = $client->epaperGetStatusString($apikey,$epaperId);    
echo 'ePaper Status: '.$status;

ePaper publizieren

Nachdem das ePaper erzeugt wurde, frühestens aber nach erfolgreichem Rendern, das wird durch den Status 'ready' signalisiert, kann es publiziert werden. Publiziert wird durch Aufruf von epaperPublish($epaperId). Der Vorgang des Publizieren benötigt auch etwas Zeit, jedoch bedeutend weniger als das Rendern des ePapers. Der Fortschritt kann auch hier mittels epaperGetStatusString($epaperId) abgefragt werden. Beim Publizieren wird die Zip - Datei für das ePaper erstellt. Diese enthält immer den aktuellen Bearbeitungsstand des ePaper zum Zeitpunkt der Erstellung.

$client = new SoapClient($wsdl, array());
try {      
    $client->epaperPublish($apikey, $epaperId);    
} catch (SoapFault $e) {      
    die('Error: '.$e->getMessage());    
}    
echo 'ePaper is being published';

Beim Publizieren entstehen, in Abhängigkeit Ihres Vertrages Kosten, dass heißt für jedes publizierte ePaper wird eine Lizenz abgezogen. Erst wenn das ePaper fertig publiziert wurde kann es über die bereitgestellte URL herunter geladen, oder auf einen anderen FTP Server übertragen werden. Sie können nun wiederum den Status abfragen, und warten bis der Status gleich 'ready' ist.

ePaper downloaden

Nachdem auch das Publizieren erfolgreich abgeschlossen wurde, ist es möglich die Zip-Datei des ePapers herunter zu laden. Die dafür benötigte Url lässt man sich wie folgt ermitteln:

$client = new SoapClient($wsdl, array());
try {      
    $url = $client->epaperGetZip($apikey, $epaperId);
} catch (SoapFault $e) {      
    die('Error: '.$e->getMessage());    
}    
echo 'Download ZIP from: '.$url;
War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich
Haben Sie Fragen? Anfrage einreichen

Kommentare