HTML zu XPS

Konvertieren Sie HTML in XPS

HyperText Markup Language (HTML) ist eine Standard-Markup-Sprache für die Erstellung von Webseiten. Es ermöglicht die Erstellung und Strukturierung von Abschnitten, Absätzen und Links mit Hilfe von HTML-Elementen/Tags. Und falls einige benutzerdefinierte Schriftarten in einer HTML-Datei verwendet werden oder auf ein dynamisches Objekt verwiesen wird, das eine aktive Verbindung zum Quellcomputer/Server erfordert, besteht die Möglichkeit, dass die Wiedergabetreue des Dokuments beeinträchtigt wird. Auf der anderen Seite werden in der XML-Papierspezifikation (XPS) die Seitenelemente unabhängig von einem bestimmten Betriebssystem, Drucker oder einer Anzeigeanwendung definiert. Ein intelligenter Ansatz besteht also darin, HTML in das XPS-Format zu konvertieren.

HTML-Konvertierungs-API

Aspose.HTML Cloud SDK für Java ist eine leichtgewichtige, auf der REST-Architektur basierende API, die die Funktionen zum Erstellen, Bearbeiten und Konvertieren von HTML-Dateien in PDF, DOCX, TIFF, JPEG usw. Es unterstützt auch die Konvertierung von HTML in XPS. Also müssen wir zuerst die folgenden Details in pom.xml des Maven-Build-Typ-Projekts hinzufügen, um das SDK in unser Java-Projekt aufzunehmen.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
	<artifactId>aspose-html-cloud</artifactId>
	<version>20.7.0</version>
	<scope>compile</scope>
    </dependency>
</dependencies>

Nach der Installation ist der nächste Schritt ein kostenloses Abonnement unserer Cloud-Dienste über Aspose.Cloud-Dashboard mit GitHub oder Google-Konto. Oder erstellen Sie einfach ein neues Konto und rufen Sie Ihre Kundenanmeldedaten ab.

Konvertieren Sie HTML in XPS in Java

Bitte befolgen Sie die nachstehenden Anweisungen, um einen HTML-zu-XPS-Konverter zu entwickeln.

  • Zunächst müssen wir Details für die Methoden Configuration.setAPPSID und Configuration.setAPIKEY angeben
  • Zweitens legen wir Details für setBasePath(..), setAuthPath(..) fest und spezifizieren setUserAgent(…) als WebKit
  • Drittens setzen wir zu unserer eigenen Unterstützung setDebug(..) auf true
  • Erstellen Sie nun ein Objekt der ConversionApi-Klasse
  • Geben Sie die Randdetails und den Namen für Informationen für die resultierende Datei an
  • Rufen Sie schließlich die Methode GetConvertDocumentToXps(…) auf, die Eingabe-HTML-Name, Abmessungen und Randdetails als Argumente erfordert
// Weitere Beispiele finden Sie unter https://github.com/aspose-html-cloud/aspose-html-cloud-java

try
    {
    // Holen Sie sich ClientID und ClientSecret von https://dashboard.aspose.cloud/
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // Details für den API-Aufruf
    com.aspose.html.Configuration.setAPP_SID(clientId);
    com.aspose.html.Configuration.setAPI_KEY(clientSecret);
    com.aspose.html.Configuration.setBasePath("https://api.aspose.cloud/v3.0");
    com.aspose.html.Configuration.setAuthPath("https://api.aspose.cloud/connect/token");
    com.aspose.html.Configuration.setUserAgent("WebKit");
    com.aspose.html.Configuration.setDebug(true);
        
    // Erstellen Sie ein Objekt der Aspose.HTML Cloud API
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Das HTML-Dokument aus dem Cloud-Speicher
    String name = "list.html";
    // resultierendes Bildformat
    String outFormat = "PNG";
    	
    Integer width = 800; // Resulting image width.
    Integer height = 1000; // Resulting image height.
    Integer leftMargin = 10; // Left resulting image margin.
    Integer rightMargin = 10; // Right resulting image margin.
    Integer topMargin = 10; // Top resulting image margin.
    Integer bottomMargin = 10; // Bottom resulting image margin.
    Integer resolution = 300; // Resolution of resulting image.
    String folder = null; // The folder in the storage. Should exist.
    String storage = "Internal"; // Name of the storage. null
    	
    // Rufen Sie die API für die HTML-zu-XPS-Konvertierung auf
    retrofit2.Call<okhttp3.ResponseBody> call = htmlApi.GetConvertDocumentToXps(name, width, height, leftMargin, rightMargin, topMargin, bottomMargin, folder, storage);
      
    System.out.println("HTML to XPS conversion sucessfull !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

Der obige Code gibt das Ergebnis im Antwortstrom zurück. Um die Ausgabe auf einem lokalen Laufwerk zu speichern, können wir die Verwendung der folgenden benutzerdefinierten Methode in Betracht ziehen.

/*
* Methode, die ResponseBody und den resultierenden Dateinamen als Argumente verwendet
*/
public static void checkAndSave(retrofit2.Call<okhttp3.ResponseBody> call, String fileName) throws IOException 
	{
	    // Senden Sie die Anforderung synchron und senden Sie ihre Antwort zurück.
	    retrofit2.Response<okhttp3.ResponseBody> res = call.execute();
	    
	    // Der deserialisierte Antworttext einer erfolgreichen Antwort
	    okhttp3.ResponseBody answer = res.body();
	    
	    //Im Testverzeichnis speichern
	    boolean result = saveToDisc(answer, fileName);
	    
	    // validieren, dass der Ergebniswert wahr ist (optionaler Schritt)
	    Assert.assertTrue(result);
	}
	
  /*
  *
  * Rufen Sie diese Methode auf, um den Antwortinhalt als Datei auf dem lokalen Laufwerk zu speichern
  *
  */ 
	public static boolean saveToDisc(okhttp3.ResponseBody body, String fileName) 
	{
            // Dateiobjekt erstellen, das den Speicherort für die resultierende Datei angibt
	    File savedFile = new File("c:\\Downloads\\"+fileName);
      
	    try (InputStream inputStream = body.byteStream();
	    OutputStream outputStream = new FileOutputStream(savedFile))
	    {
	    byte[] fileReader = new byte[4096];
	    long fileSizeDownloaded = 0;

	    while (true) {
	        int read = inputStream.read(fileReader);
		if (read == -1) break;

                // Dateistream auf lokalem Laufwerk speichern
		outputStream.write(fileReader, 0, read);
		fileSizeDownloaded += read;
            }
	    // Löschen Sie die Ausgabestreaminstanz
	    outputStream.flush();
	    
	    // geben Sie true zurück, wenn die Datei erfolgreich gespeichert wurde
	    return true;
	    } catch (Exception e) {
		e.printStackTrace();
		return false;
	    }
	} // saveToDisc ends here
HTML zu XPS

Image1:- Vorschau von HTML zu XPS

Die im obigen Beispiel verwendeten Beispieldateien können von list.html und resultantFile.xps heruntergeladen werden.

HTML zu XPS mit cURL-Befehlen

Auf die REST-APIs kann auch über cURL-Befehle zugegriffen werden, daher lernen wir in diesem Abschnitt die Schritte zur Durchführung der HTML-zu-XPS-Konvertierung mit dem cURL-Befehl. Jetzt müssen wir als Voraussetzung zunächst ein JSON Web Token (JWT) basierend auf Ihren individuellen Client-Anmeldeinformationen generieren. Bitte führen Sie den folgenden Befehl aus, um das JWT-Token zu generieren.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Nachdem wir nun das JWT-Token haben, führen Sie bitte den folgenden Befehl auf dem Terminal aus, um eine HTML-zu-XPS-Konvertierung durchzuführen.

curl -v -X GET "https://api.aspose.cloud/html/list.html/convert/xps" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o final.xps

Fazit

In diesem Artikel wurden die Details zum Konvertieren von HTML in XPS mithilfe der REST-API erläutert. Wir haben die Schritte zum Konvertieren von HTML in XPS mithilfe von Java-Code-Snippets sowie durch cURL-Befehle gelernt. Bitte beachten Sie außerdem, dass die Produkt-Dokumentation eine großartige Quelle ist, um die erstaunlichen Möglichkeiten kennenzulernen, die die API bietet. Wenn Sie bei der Verwendung der API auf Probleme stoßen, können Sie sich außerdem gerne an das kostenlose Produktsupport-Forum wenden.

Verwandte Artikel

Wir empfehlen auch, die folgenden Blogs zu besuchen, um weitere Informationen zu erhalten: