Media-Services

Alvine Juno

Das Alvine Cloud Produkt Juno bietet Ihnen die Möglichkeit schnell, kostengünstig und flexibel Webseiten in PDF Dokumente umzuwandeln.

Astronaut surft

Lassen Sie uns anfangen

Sie können Alvine Juno einfach und schnell ausprobieren!

Risikofrei und ohne weitere Kosten. Nehmen Sie die URL einer HTML-Rechnung, oder ein anderes HTML-Dokument. Falls Sie kein Dokument zur Hand haben, nehmen Sie einfach die URL aus unserem Beispiel.

Aufruf

Unten finden Sie einige Beispiele für einige Umgebungen und Sprachen. In der Postman-Collection finden Sie weitere Beispiele zu vielen Umgebungen und Sprachen.

Alle Alvine Cloud API Endpunkte sind in Postman dokumentiert.

Sie können die API direkt ausprobieren (externe Seite):

Environment

Die einzelnen API sind in Postman mit Platzhaltern angelegt. Die Platzhalter können über die Environment-Funktion gesetzt werden.

PlatzhalterWertBeschreibung
JUNO-APIVERSIONv1betaAktuell gültige Version der API
QAFür Tests gegen die Entwicklungsumgebung muss qa- als Wert gesetzt werden. Ansonsten bleibt die Variable leer.
curl --location -g --request POST 'https://juno.alvine.cloud/api/v1beta/capture' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
    "page-size": "A4",
    "pages": [
        {
            "url": "https://www.alvine.cloud/"
        },
        {
            "url": "https://www.alvine.cloud/de/produkte/"
        }
    ]
}'
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://juno.alvine.cloud/api/v1beta/capture"
  method := "POST"

  payload := strings.NewReader(`{
    "page-size": "A4",
    "pages": [
        {
            "url": "https://www.alvine.cloud/"
        },
        {
            "url": "https://www.alvine.cloud/de/produkte/"
        }
    ]
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Accept", "application/json")
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
        
var data = JSON.stringify({"page-size":"A4","pages":[{"url":"https://www.alvine.cloud/"},{"url":"https://www.alvine.cloud/de/produkte/"}]});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
  if(this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://juno.alvine.cloud/api/v1beta/capture");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");

xhr.send(data);
        
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://juno.alvine.cloud/api/v1beta/capture',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "page-size": "A4",
    "pages": [
        {
            "url": "https://www.alvine.cloud/"
        },
        {
            "url": "https://www.alvine.cloud/de/produkte/"
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Accept: application/json',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

        

Als Ergebnis bekommen Sie im Erfolgsfall den Status 200, den ContentType-Header application/pdf und als Inhalt die Daten des PDF-Dokuments zurück.

Im Fehlerfall erhalten Sie einen Status größer gleich 400, den ContentType-Header application/json und ein JSON-Dokument mit weiteren Informationen zum Fehler.

JSON

In dem folgenden Beispiel werden die beiden HTML-Seiten https://www.schukai.com/ und https://www.schukai.com/de/verkaufen/ in ein DIN-A4 PDF gedruckt.
    
{
    "page-size": "A4",
    "dpi": 36,
    "orientation": "Portrait",
    "pages": [
        {
            "url": "https://www.schukai.com/",
            "zoom": 1.0,
            "print-media-type": true,
            "viewport-width": "1280x1024",
            "load-media-error-handling": "abort",
            "load-error-handling": "abort",
            "encoding": "utf-8",
            "auth": {
                "base-auth": {
                    "username": "name",
                    "password": "geheim"
                }
            }
        },
        {
            "url": "https://www.schukai.com/de/verkaufen/"
        }
    ],
    "margins": {
        "top": 5,
        "left": 5,
        "right": 5,
        "bottom": 5
    },
    "operators": {
        "smart-shrinking": true,
        "grayscale": true
    }
}    
    
FeldBeschreibungStandard
page-sizeGröße der SeiteA4
orientationAusrichtung auf Querformat (Landscape) oder Hochformat (Portrait) einstellenPortrait
dpiÄndert die DPI36
pages.urlURL auf die gewünschte Webseite. Javascript wird aktuell nicht unterstützt.
pages.zoomZoomfaktor1.0
pages.print-media-type@print Mediaqueries anwendentrue
pages.viewport-widthSetzt die Viewport-Größe1280x1024
pages.load-media-error-handlingAbbruch (abort) oder ignorieren (ignore), wenn Bilder oder CSS fehlenabort
pages.load-error-handling Abbruch (abort) oder ignorieren (ignore), wenn die Url nicht gefunden wirdabort
pages.encodingStandard-Encodingutf-8
pages.auth.base-auth.usernameAnmeldung mit Base-Auth
pages.auth.base-auth.passwordAnmeldung mit Base-Auth
pages.auth.cookie.nameName des cookies
pages.auth.cookie.credentialWert des Cookies
margins.topAbstand zum Rand5
margins.leftAbstand zum Rand5
margins.rightAbstand zum Rand5
margins.bottomAbstand zum Rand5
operators.smart-shrinkingIntelligentes einpassen der Webseite in das PDF Formattrue
operators.grayscaleGraufilter anwendentrue

Damit keine Fragen offen bleiben

Wir sind für Sie da und bieten Ihnen den perfekten Service. Profitieren Sie von unserer Erfahrung, innovativen Lösungen und einer Betreuung, die sich allein an Ihren Bedürfnissen orientiert.

Unsere Kontaktdaten & Chat

Wir freuen uns auf Sie.