Convertire XML strutturato in un documento PDF rifinito è una necessità frequente per i sistemi di reporting e archiviazione. Aspose.OCR Cloud SDK for .NET offre una potente libreria basata sul cloud che consente agli sviluppatori .NET di eseguire attività OCR e generazione di documenti senza installare componenti pesanti. In questa guida importeremo dati XML in PDF in C# usando l’SDK, esamineremo un esempio di codice completo e mostreremo come ottenere lo stesso risultato tramite una REST API con cURL. Imparerai anche la configurazione necessaria, le migliori pratiche per gestire grandi payload XML e come ottenere una licenza temporanea per i test.
Esempio di codice completo: Importa dati XML in PDF in C#
Questo esempio dimostra come importare dati XML in PDF in C# utilizzando Aspose.OCR Cloud SDK for .NET.
using System;
using System.IO;
using System.Xml;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using Aspose.OCR.Cloud;
namespace XmlToPdfDemo
{
class Program
{
static void Main(string[] args)
{
// Paths
string xmlPath = "input.xml";
string pdfPath = "output.pdf";
// Initialize Aspose.OCR Cloud client (credentials placeholder)
var ocrClient = new OcrApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
// Parse XML efficiently using XmlReader
var documentTitle = string.Empty;
var documentContent = string.Empty;
try
{
using (XmlReader reader = XmlReader.Create(xmlPath))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
switch (reader.Name)
{
case "Title":
documentTitle = reader.ReadElementContentAsString();
break;
case "Content":
documentContent = reader.ReadElementContentAsString();
break;
}
}
}
}
// Create PDF document
var pdfDoc = new Document();
var page = pdfDoc.Pages.Add();
// Add title with larger font
var titleFragment = new TextFragment(documentTitle)
{
Position = new Position(0, page.PageInfo.Height - 50),
TextState = new TextState
{
FontSize = 20,
FontStyle = FontStyles.Bold,
ForegroundColor = Color.Black
}
};
page.Paragraphs.Add(titleFragment);
// Add content with normal font
var contentFragment = new TextFragment(documentContent)
{
Position = new Position(0, page.PageInfo.Height - 100),
TextState = new TextState
{
FontSize = 12,
FontStyle = FontStyles.Regular,
ForegroundColor = Color.Black
}
};
page.Paragraphs.Add(contentFragment);
// Save PDF
pdfDoc.Save(pdfPath);
Console.WriteLine($"PDF generated successfully at '{Path.GetFullPath(pdfPath)}'.");
}
catch (XmlException xmlEx)
{
Console.Error.WriteLine($"XML parsing error: {xmlEx.Message}");
}
catch (IOException ioEx)
{
Console.Error.WriteLine($"File I/O error: {ioEx.Message}");
}
catch (Exception ex)
{
Console.Error.WriteLine($"Unexpected error: {ex.Message}");
}
finally
{
// Dispose OCR client if it implements IDisposable (placeholder)
if (ocrClient is IDisposable disposableClient)
{
disposableClient.Dispose();
}
}
}
}
}
Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, verifica che tutte le dipendenze richieste siano installate correttamente e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.
Converti XML in PDF usando l’API REST con cURL
Se preferisci un approccio puramente REST, la stessa operazione può essere eseguita con chiamate cURL contro l’Aspose.OCR Cloud API. Questo dimostra l’importazione di dati XML in PDF Rest in .NET senza scrivere alcun codice C#.
- Autenticati e ottieni un token di accesso
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Carica il file XML di origine
curl -X PUT "https://api.aspose.cloud/v3.0/ocr/storage/file/input.xml" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/xml" \
--data-binary @input.xml
- Esegui l’operazione di importazione dei dati XML in PDF
curl -X POST "https://api.aspose.cloud/v3.0/ocr/xmlpdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"inputFile": "input.xml",
"outputFile": "output.pdf"
}'
- Scarica il PDF generato
curl -X GET "https://api.aspose.cloud/v3.0/ocr/storage/file/output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
Per ulteriori dettagli sui parametri della richiesta e opzioni aggiuntive, consulta la documentazione ufficiale dell’API.
Comprendere il processo di importazione dei dati XML in PDF in C#
L’esempio di codice sopra segue un flusso semplice per importare dati XML in PDF in C# sfruttando Aspose.OCR Cloud SDK for .NET. Di seguito è riportata una suddivisione passo‑passo delle sezioni più importanti.
- Inizializza il client OCR
var ocrClient = new OcrApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
La classe OcrApi (vedi il riferimento API) gestisce l’autenticazione e fornisce metodi per operazioni correlate all’OCR.
- Analizza il file XML con
XmlReader
using (XmlReader reader = XmlReader.Create(xmlPath))
{
// reading logic
}
XmlReader trasmette lo stream XML, il che è ideale per file di grandi dimensioni e mantiene basso l’utilizzo della memoria.
- Crea un nuovo documento PDF
var pdfDoc = new Document();
var page = pdfDoc.Pages.Add();
La classe Document di Aspose.PDF crea il contenitore PDF; la prima pagina viene aggiunta per ospitare il contenuto.
- Aggiungi titolo e contenuto come oggetti
TextFragment
var titleFragment = new TextFragment(documentTitle) { /* styling */ };
var contentFragment = new TextFragment(documentContent) { /* styling */ };
page.Paragraphs.Add(titleFragment);
page.Paragraphs.Add(contentFragment);
TextFragment consente di posizionare il testo con precisione e applicare stili di carattere.
- Salva il file PDF
pdfDoc.Save(pdfPath);
Il PDF generato viene scritto su disco, pronto per l’elaborazione successiva o per il download.
La stessa logica può essere invocata tramite l’endpoint import XML data to PDF Rest in .NET, abilitando lo scenario di integrazione Import XML Data to PDF Rest C# per distribuzioni solo cloud.
Prerequisiti e Configurazione
Prima di iniziare, assicurati di avere un account Aspose.OCR Cloud valido e il .NET SDK installato.
- Installa l’SDK tramite NuGet
dotnet add package Aspose.OCR-Cloud
Puoi anche scaricare l’ultimo pacchetto dalla pagina di download.
- Aggiungi gli spazi dei nomi richiesti
using Aspose.Pdf;
using Aspose.Pdf.Text;
using Aspose.OCR.Cloud;
- Configura le credenziali del client
Sostituisci YOUR_CLIENT_ID e YOUR_CLIENT_SECRET con i valori dal tuo Aspose Cloud dashboard. Queste credenziali vengono utilizzate per ottenere un token di accesso per le chiamate REST.
- Configura una licenza temporanea per i test (opzionale ma consigliata)
// No explicit license code required for the cloud library; use the temporary license page if needed.
Per l’uso in produzione, acquista una licenza completa dalla pagina della licenza temporanea.
Conclusioni
Hai ora imparato come importare dati XML in PDF in C# usando Aspose.OCR Cloud SDK for .NET, sia tramite codice nativo che tramite una REST API con cURL. L’esempio mostra come analizzare XML in modo efficiente, formattare l’output PDF e gestire gli errori in modo elegante. Ricorda di proteggere le credenziali del client, utilizzare una licenza temporanea per lo sviluppo e passare a una licenza completa quando passi alla produzione. Per qualsiasi domanda, i forum della community di Aspose e i canali di supporto ufficiali sono sempre pronti ad aiutare.
Domande che potresti avere
-
Come importare dati XML in PDF in C# senza scrivere alcun codice?
È possibile utilizzare l’endpoint Rest di importazione di dati XML in PDF per .NET descritto nella sezione cURL. Basta caricare il file XML, chiamare l’endpoint/xmlpdfe scaricare il PDF risultante. -
È possibile convertire più file XML in PDF con una singola richiesta?
L’API attualmente elabora un file per richiesta, ma è possibile scrivere uno script con un ciclo in C# o uno script shell per gestire i batch in modo efficiente. -
Quali formati di file sono supportati per il PDF di output?
L’SDK genera sempre un file PDF standard. Se hai bisogno di altri formati, considera l’utilizzo di Aspose.PDF Cloud SDK for .NET per convertire ulteriormente il PDF. -
Posso personalizzare i caratteri e i colori nel PDF generato?
Sì, regolando le proprietàTextStatedegli oggettiTextFragmentè possibile impostare la dimensione, lo stile e il colore del carattere. Consulta la riferimento API per tutti i dettagli.