da html a xps

Come convertire HTML in XPS in C# .NET

Il file HTML è ampiamente utilizzato su Internet per la condivisione di informazioni. Poiché è supportato dalla maggior parte delle piattaforme e quasi tutti i browser Web sono in grado di caricare questo formato, è uno dei formati accettabili. Tuttavia, a causa della sua ampia accettazione, molti hacker cercano di incorporare script dannosi all’interno di file HTML. Gli attacchi di alto profilo di codice HTML e JavaScript dannoso hanno visto un drammatico aumento sia nella consapevolezza che nello sfruttamento negli ultimi anni. D’altro canto, un file XPS rappresenta file di layout di pagina basati su XML Paper Specifications.

  • XPS è simile al formato di file PDF, ma utilizza XML nel layout, nell’aspetto e nelle informazioni di stampa di un documento.

API di conversione HTML

Aspose.HTML Cloud è specificamente progettato per fornire le capacità di elaborare file HTML. Oltre all’input HTML, possiamo anche caricare XHTML, MHTML, EPUB, Markdown o una pagina Web tramite il suo URL. L’output risultante può essere PDF, XPS, DOCX o formati di immagini raster: JPEG, PNG, TIFF, BMP, GIF. Poiché l’API è sviluppata secondo l’architettura REST, può essere utilizzata in applicazioni Desktop, Mobile, Web e Ibride, nonché su piattaforme desktop o mobili.

Per facilitare ulteriormente i nostri clienti, abbiamo creato SDK specifici per il linguaggio di programmazione. Gli SDK Cloud sono wrapper attorno alle API REST in vari linguaggi di programmazione, consentendoti di elaborare documenti nel linguaggio di tua scelta. In questo modo, puoi ottenere rapidamente e facilmente tutti i vantaggi dei tipi forti e delle evidenziazioni IDE. Controlla il repository GitHub Aspose.HTML per gli SDK insieme ad esempi funzionanti, per iniziare in pochissimo tempo. In questo articolo, discuteremo le funzionalità di conversione dei documenti di Aspose.HTML Cloud SDK per .NET.

Installazione

Per iniziare a usare Cloud SDK, il primo passo è installarlo sul sistema. L’SDK è disponibile su NuGet e GitHub. Esegui il seguente comando nella finestra del terminale per eseguire l’installazione per NuGet

nuget install Aspose.HTML-Cloud

Un’altra opzione è installare l’SDK tramite Package Manager Console in Visual Studio. Esegui il seguente comando:

 PM> Install-Package Aspose.HTML-Cloud
Console del gestore dei pacchetti

Immagine 1:- Pacchetto NuGet Aspose.HTML installato.

Gestore pacchetti NuGet

Un altro approccio più semplice è installare l’SDK tramite NuGet Package Manager all’interno di Visual Studio IDE.

  1. Aprire Esplora soluzioni.
  2. Espandi il progetto e fai clic con il pulsante destro del mouse sulla cartella Pacchetti nella soluzione.
  3. Selezionare l’opzione Gestisci pacchetti NuGet….
  4. Fare clic sulla scheda Sfoglia e cercare “Aspose.HTML-Cloud“.
  5. Fare clic sul pacchetto Aspose.HTML-Cloud, selezionare la versione appropriata nella scheda a destra e fare clic sul pulsante Aggiungi pacchetto.

Abbonamento Cloud gratuito

Il prossimo passo importante è un abbonamento gratuito all’account su Aspose.Cloud dashboard. Non sono richiesti dati di carte di credito o altri dettagli di pagamento. Se hai un account GitHub o Google, registrati semplicemente o clicca sul pulsante crea un nuovo account e fornisci le informazioni richieste. Ora accedi alla dashboard utilizzando le credenziali ed espandi la sezione Applicazioni dalla dashboard e scorri verso il basso fino alla sezione Credenziali cliente per vedere i dettagli ID cliente e Segreto cliente.

Credenziali del cliente

Immagine 3: Credenziali del cliente nella dashboard di Aspose.Cloud.

Da HTML a XPS in C#

In questa sezione parleremo della conversione dei file HTML nel formato XPS per i due scenari seguenti.

Carica HTML da Cloud Storage

Seguire le istruzioni riportate di seguito per caricare un file HTML sullo storage Cloud e quindi eseguire la conversione nel formato XPS.

  • Per prima cosa, crea un’istanza di HtmlApi passando i dettagli ClientID e ClientSecret come argomenti.
  • In secondo luogo, leggere il file HTML utilizzando il metodo File.OpenRead(…).
  • In terzo luogo, crea un’istanza di StorageApi e utilizza il metodo UploadFile(…) per caricare il file HTML sullo storage cloud.
  • Infine, chiama il metodo PutConvertDocumentToXps(…) per eseguire la conversione da HTML a XPS e salvare l’XPS risultante nell’archiviazione cloud.
// Ottieni ClientID da https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// stringa URL di base
const string SERVICE_API_HOST = "https://api.aspose.cloud";

// Crea istanza HtmlApi
HtmlApi htmlApi = new HtmlApi(clientID, clientSecret,SERVICE_API_HOST);

String name = "inputHTML.html";// inpit Document name.
int width = 800; // Resulting image width.
int height = 1000; // Resulting image height.
int leftMargin = 10; // Left resulting image margin.
int rightMargin = 10; // Right resulting image margin.
int topMargin = 10; // Top resulting image margin.
int bottomMargin = 10; // Bottom resulting image margin.

// nome del file risultante
string resultantFile = "Resultant.xps";

try
{
    // carica il file dall'unità locale
    using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Desktop\" + name))
    {
        // Crea istanza StorageApi
        var uploadFileRequest = new StorageApi(clientID, clientSecret, SERVICE_API_HOST);
        
        // carica il file HTML sullo storage Cloud
        uploadFileRequest.UploadFile(file, "inputHTML.html");
    }
    
    // Eseguire la conversione in formato PDF
    // salva l'output sullo storage Cloud
    AsposeResponse response = htmlApi.PutConvertDocumentToPdf(
    name, resultantFile, width, height,
    leftMargin, rightMargin, topMargin, bottomMargin);
    
    // stampa messaggio di successo se la conversione è riuscita
    if (response != null && response.Equals("OK"))
    {
        Console.WriteLine("HTML successfully converted to XPS !");
    }
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

A fini di test, l’HTML di input e l’XPS risultante possono essere scaricati da inputHTML.html e Resultant.xps.

Convertire HTML in XPS utilizzando cURL

Poiché le nostre API sono sviluppate secondo l’architettura REST, è possibile accedervi anche tramite comandi cURL. In questa sezione, discuteremo la conversione della pagina HTML in formato XPS utilizzando il comando cURL. Ma prima di procedere oltre, il primo passaggio è creare JSON Web Token (JWT) in base alle credenziali del client da Aspose.Cloud dashboard. Seguire i passaggi indicati di seguito per eseguire la conversione da HTML a XPS.

  1. Ottieni il tuo Client ID e il Client Secret dalla dashboard del Cloud.
  2. Ottieni il token di accesso Web JSON in base alle credenziali del client.
  3. Chiama l’API PutConvertDocumentToXps.
  4. Il file PDF risultante verrà salvato nell’archivio Cloud.

Eseguire il seguente comando cURL per generare il token di accesso JWT.

 curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

Eseguire il seguente comando per caricare i file HTML sullo storage Cloud:

curl -X PUT "https://api.aspose.cloud/html/storage/file/inputHTML.html" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}

Dopo aver caricato l’HTML sullo storage Cloud, è possibile utilizzare il seguente comando per eseguire la conversione da HTML a XPS e salvare il file risultante sullo storage Cloud.

curl -X PUT "https://api.aspose.cloud/html/inputHTML.html/convert/xps?outPath=converted.xps&width=800&height=1000&leftMargin=10&rightMargin=10&topMargin=10&bottomMargin=10" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Visualizzatore XPS gratuito

Per visualizzare il file XPS, potresti prendere in considerazione l’utilizzo di XPS Viewer App. È sviluppato su API REST e ti consente di sperimentare le straordinarie capacità dell’API.

Conclusione

Abbiamo esplorato le capacità di Aspose.HTML Cloud per la conversione di file HTML in layout di pagina fisso e altre immagini raster. Abbiamo esplorato le funzionalità per convertire HTML utilizzando frammenti di codice C# .NET e utilizzando i comandi cURL.

Tuttavia, Aspose.HTML Cloud SDK per .NET che è un wrapper attorno ad Aspose.HTML Cloud è sviluppato con licenza MIT, quindi il frammento di codice completo può essere scaricato da GitHub. Se riscontri problemi durante l’utilizzo dell’API, non esitare a contattarci tramite il forum di supporto prodotto gratuito.

Articoli correlati

Ti consigliamo di visitare i seguenti link per saperne di più