Transformer du XML structuré XML en un document PDF soigné est une exigence fréquente pour les systèmes de reporting et d’archivage. Aspose.OCR Cloud SDK for .NET fournit une bibliothèque puissante basée sur le cloud qui permet aux développeurs .NET d’effectuer des tâches liées à l’OCR et à la génération de documents sans installer de composants lourds. Dans ce guide, nous importerons des données XML vers PDF en C# en utilisant le SDK, parcourrons un exemple de code complet et montrerons comment obtenir le même résultat via une API REST avec cURL. Vous apprendrez également la configuration requise, les meilleures pratiques pour gérer de gros chargements XML, et comment obtenir une licence temporaire pour les tests.
Exemple complet de code : Importation de données XML vers PDF en C#
Cet exemple montre comment importer des données XML dans un PDF en C# en utilisant 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();
}
}
}
}
}
Note : Cet exemple de code montre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.
Convertir XML en PDF à l’aide de l’API REST avec cURL
Si vous préférez une approche purement REST, la même opération peut être effectuée avec des appels cURL contre l’API Aspose.OCR Cloud. Cela démontre l’importation de données XML vers PDF Rest dans un flux de travail .NET sans écrire de code C#.
- Authentifier et obtenir un jeton d’accès
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"
- Téléverser le fichier source XML
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
- Exécuter l’opération d’importation de données XML vers 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"
}'
- Télécharger le PDF généré
curl -X GET "https://api.aspose.cloud/v3.0/ocr/storage/file/output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
Pour plus de détails sur les paramètres de requête et les options supplémentaires, consultez la documentation officielle de l’API.
Comprendre le processus d’importation de données XML vers PDF en C#
L’exemple de code ci‑dessus suit un flux simple pour importer des données XML vers PDF en C# tout en tirant parti d’Aspose.OCR Cloud SDK for .NET. Ci‑dessous se trouve une répartition étape par étape des sections les plus importantes.
- Initialiser le client OCR
var ocrClient = new OcrApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
La classe OcrApi (voir la référence API) gère l’authentification et fournit des méthodes pour les opérations liées à l’OCR.
- Analyser le fichier XML avec
XmlReader
using (XmlReader reader = XmlReader.Create(xmlPath))
{
// reading logic
}
XmlReader diffuse le XML, ce qui est idéal pour les gros fichiers et maintient une faible utilisation de la mémoire.
- Créer un nouveau document PDF
var pdfDoc = new Document();
var page = pdfDoc.Pages.Add();
La classe Document d’Aspose.PDF crée le conteneur PDF ; la première page est ajoutée pour héberger le contenu.
- Ajouter le titre et le contenu en tant qu’objets
TextFragment
var titleFragment = new TextFragment(documentTitle) { /* styling */ };
var contentFragment = new TextFragment(documentContent) { /* styling */ };
page.Paragraphs.Add(titleFragment);
page.Paragraphs.Add(contentFragment);
TextFragment vous permet de positionner le texte avec précision et d’appliquer des styles de police.
- Enregistrer le fichier PDF
pdfDoc.Save(pdfPath);
Le PDF généré est écrit sur le disque, prêt pour le traitement en aval ou le téléchargement.
La même logique peut être invoquée via le point de terminaison import XML data to PDF Rest en .NET, permettant le scénario d’intégration Import XML Data to PDF Rest C# pour les déploiements uniquement cloud.
Prérequis et configuration
Avant de commencer, assurez‑vous de disposer d’un compte Aspose.OCR Cloud valide et que le SDK .NET est installé.
- Installez le SDK via NuGet
dotnet add package Aspose.OCR-Cloud
Vous pouvez également télécharger le dernier package depuis la page de téléchargement.
- Ajouter les espaces de noms requis
using Aspose.Pdf;
using Aspose.Pdf.Text;
using Aspose.OCR.Cloud;
- Configurez vos informations d’identification client
Remplacez YOUR_CLIENT_ID et YOUR_CLIENT_SECRET par les valeurs de votre tableau de bord Aspose Cloud. Ces identifiants sont utilisés pour obtenir un jeton d’accès pour les appels REST.
- Configurer une licence temporaire pour les tests (facultatif mais recommandé)
// No explicit license code required for the cloud library; use the temporary license page if needed.
Pour une utilisation en production, achetez une licence complète sur la page de licence temporaire.
Conclusion
Vous avez maintenant appris comment importer des données XML vers PDF en C# en utilisant Aspose.OCR Cloud SDK for .NET, à la fois via du code natif et via une API REST avec cURL. L’exemple montre comment analyser XML efficacement, styliser la sortie PDF et gérer les erreurs avec élégance. N’oubliez pas de sécuriser vos informations d’identification client, d’utiliser une licence temporaire pour le développement et de passer à une licence complète lorsque vous passez en production. Pour toute question, les Aspose community forums et les canaux de support officiels sont toujours prêts à aider.
Questions que vous pourriez avoir
-
Comment importer des données XML en PDF en C# sans écrire de code ?
Vous pouvez utiliser le point de terminaison Rest d’importation de données XML vers PDF en .NET décrit dans la section cURL. Téléversez simplement votre fichier XML, appelez le point de terminaison/xmlpdfet téléchargez le PDF résultant. -
Est-il possible de convertir plusieurs fichiers XML en PDF en une seule requête ?
L’API traite actuellement un fichier par requête, mais vous pouvez écrire un script en C# ou un script shell pour gérer les lots efficacement. -
Quels formats de fichiers sont pris en charge pour le PDF de sortie ?
Le SDK génère toujours un fichier PDF standard. Si vous avez besoin d’autres formats, envisagez d’utiliser Aspose.PDF Cloud SDK for .NET pour convertir davantage le PDF. -
Puis-je personnaliser les polices et les couleurs dans le PDF généré ?
Oui, en ajustant les propriétésTextStatedes objetsTextFragment, vous pouvez définir la taille, le style et la couleur de la police. Consultez la référence API pour plus de détails.