Перетворення структурованого XML у відшліфований документ у форматі PDF є поширеною вимогою для систем звітності та архівування. Aspose.OCR Cloud SDK for .NET надає потужну хмарну бібліотеку, яка дозволяє розробникам .NET виконувати завдання, пов’язані з OCR, та генерувати документи без встановлення важких компонентів. У цьому посібнику ми імпортуємо дані XML у PDF за допомогою C# та SDK, розглянемо повний приклад коду та покажемо, як досягти того ж результату за допомогою REST API з cURL. Ви також дізнаєтеся про необхідне налаштування, кращі практики обробки великих XML‑нагрузок та як отримати тимчасову ліцензію для тестування.
Повний приклад коду: імпорт даних XML у PDF на C#
Цей приклад демонструє, як імпортувати дані XML у PDF за допомогою C# з використанням 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();
}
}
}
}
}
Примітка: Цей приклад коду демонструє основну функціональність. Перш ніж використовувати його у вашому проєкті, переконайтеся, що оновили всі шляхи до файлів та значення конфігурації відповідно до вашого реального середовища, перевірте, що всі необхідні залежності правильно встановлені, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнетеся з будь-якими проблемами, будь ласка, зверніться до офіційної документації або зв’яжіться з командою підтримки для отримання допомоги.
Конвертування XML у PDF за допомогою REST API з cURL
Якщо ви віддаєте перевагу чистому підходу REST, ту ж операцію можна виконати за допомогою викликів cURL до Aspose.OCR Cloud API. Це демонструє імпорт даних XML у PDF за допомогою REST у .NET робочому процесі без написання коду C#.
- Аутентифікуйтеся та отримайте токен доступу
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"
- Завантажте файл 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
- Виконати операцію імпорту даних XML у 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"
}'
- Завантажте згенерований PDF
curl -X GET "https://api.aspose.cloud/v3.0/ocr/storage/file/output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
Для отримання докладнішої інформації про параметри запиту та додаткові параметри, перегляньте офіційну документацію API.
Розуміння процесу імпорту даних XML у PDF у C#
Наведений вище приклад коду слідує простому процесу імпорту даних XML у PDF у C#, використовуючи Aspose.OCR Cloud SDK for .NET. Нижче наведено покроковий розбір найважливіших розділів.
- Ініціалізуйте OCR клієнт
var ocrClient = new OcrApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
Клас OcrApi (дивіться довідка API) відповідає за автентифікацію та надає методи для операцій, пов’язаних з OCR.
- Розпарсити XML файл за допомогою
XmlReader
using (XmlReader reader = XmlReader.Create(xmlPath))
{
// reading logic
}
XmlReader передає XML потоково, що ідеально підходить для великих файлів і зберігає низьке використання пам’яті.
- Створіть новий PDF-документ
var pdfDoc = new Document();
var page = pdfDoc.Pages.Add();
Клас Document з Aspose.PDF створює контейнер PDF; перша сторінка додається для розміщення вмісту.
- Додайте заголовок і вміст як об’єкти
TextFragment
var titleFragment = new TextFragment(documentTitle) { /* styling */ };
var contentFragment = new TextFragment(documentContent) { /* styling */ };
page.Paragraphs.Add(titleFragment);
page.Paragraphs.Add(contentFragment);
TextFragment дозволяє точно позиціонувати текст і застосовувати стилі шрифту.
- Зберегти PDF файл
pdfDoc.Save(pdfPath);
Згенерований PDF записується на диск, готовий до подальшої обробки або завантаження.
Ту ж логіку можна викликати через кінцеву точку Import XML Data to PDF Rest у .NET, що дозволяє сценарій інтеграції Import XML Data to PDF Rest C# для розгортань лише в хмарі.
Вимоги та налаштування
Перш ніж розпочати, переконайтеся, що у вас є дійсний обліковий запис Aspose.OCR Cloud і встановлений .NET SDK.
- Встановіть SDK через NuGet
dotnet add package Aspose.OCR-Cloud
Ви також можете завантажити останній пакет зі сторінки завантаження.
- Додайте необхідні простори імен
using Aspose.Pdf;
using Aspose.Pdf.Text;
using Aspose.OCR.Cloud;
- Налаштуйте облікові дані клієнта
Замініть YOUR_CLIENT_ID і YOUR_CLIENT_SECRET значеннями з вашої панелі управління Aspose Cloud. Ці облікові дані використовуються для отримання токену доступу для REST‑викликів.
- Налаштуйте тимчасову ліцензію для тестування (необов’язково, але рекомендовано)
// No explicit license code required for the cloud library; use the temporary license page if needed.
Для використання у продакшн, придбайте повну ліцензію на сторінці тимчасової ліцензії.
Підведення підсумків
Тепер ви навчилися імпортувати дані XML у PDF у C# за допомогою Aspose.OCR Cloud SDK for .NET, як через нативний код, так і через REST API за допомогою cURL. Приклад показує, як ефективно розбирати XML, оформляти вихідний PDF та обробляти помилки коректно. Пам’ятайте захищати свої облікові дані клієнта, використовувати тимчасову ліцензію для розробки та оновлювати її до повної ліцензії, коли переходите у продакшн. Якщо у вас є питання, форуми спільноти Aspose та офіційні канали підтримки завжди готові допомогти.
Питання, які у вас можуть виникнути
-
Як імпортувати дані XML у PDF у C# без написання коду?
Ви можете скористатися REST‑інтерфейсом імпорту даних XML у PDF у .NET, описаним у розділі cURL. Просто завантажте ваш XML‑файл, викличте кінцеву точку/xmlpdfі завантажте отриманий PDF. -
Чи можливо конвертувати кілька XML‑файлів у PDF в одному запиті?
API наразі обробляє один файл за запитом, але ви можете написати скрипт‑цикл у C# або shell‑скрипт для ефективної обробки пакетів. -
Які формати файлів підтримуються для вихідного PDF?
SDK завжди генерує стандартний файл PDF. Якщо вам потрібні інші формати, розгляньте можливість використання Aspose.PDF Cloud SDK for .NET для подальшого перетворення PDF. -
Чи можу я налаштувати шрифти та кольори у згенерованому PDF?
Так, шляхом налаштування властивостейTextStateоб’єктівTextFragmentви можете встановити розмір шрифту, стиль та колір. Дивіться довідка API для повних деталей.