構造化されたXMLを洗練されたPDFドキュメントに変換することは、レポートやアーカイブシステムで頻繁に求められます。Aspose.OCR Cloud SDK for .NETは、.NET開発者が重いコンポーネントをインストールせずにOCR関連タスクやドキュメント生成を実行できる強力なクラウドベースのライブラリを提供します。本ガイドでは、SDKを使用してC#でXMLデータをPDFにインポートする方法、完全なコード例を順に解説し、cURLを使ったREST APIで同じ結果を得る方法を示します。また、必要なセットアップ、大規模XMLペイロードのベストプラクティスな取り扱い方法、テスト用の一時ライセンス取得方法についても学びます。
完全なコード例: XML データを PDF にインポートする(C#)
この例では、Aspose.OCR Cloud SDK for .NET を使用して C# で XML データを PDF にインポートする方法を示します。
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();
}
}
}
}
}
注意: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや設定値が実際の環境に合うように更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメントをご参照いただくか、サポートチームにお問い合わせください。
cURL を使用した REST API で XML を PDF に変換
純粋な REST アプローチを好む場合、同じ操作は Aspose.OCR Cloud API に対する cURL 呼び出しで実行できます。これは、C# コードを書かずに .NET ワークフローで XML データを PDF にインポートすることを示しています。
- 認証してアクセストークンを取得する
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 ドキュメントをご覧ください。
C# プロセスにおける XML データの PDF へのインポートの理解
上記のコード例は、C# で XML データを PDF にインポートするシンプルなフローに従い、Aspose.OCR Cloud SDK for .NET を活用しています。以下に、最も重要なセクションのステップバイステップの概要を示します。
- OCR クライアントを初期化する
var ocrClient = new OcrApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
OcrApi クラス(API リファレンス を参照)は認証を処理し、OCR 関連の操作用メソッドを提供します。
- XmlReader を使用して XML ファイルを解析する
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 はディスクに書き込まれ、下流の処理やダウンロードの準備が整います。
同じロジックは .NET エンドポイントの Import XML Data to PDF Rest を介して呼び出すことができ、クラウド専用デプロイメント向けに Import XML Data to PDF Rest C# 統合シナリオを有効にします。
前提条件とセットアップ
開始する前に、有効な Aspose.OCR Cloud アカウントと .NET SDK がインストールされていることを確認してください。
- NuGet を使用して SDK をインストールする
dotnet add package Aspose.OCR-Cloud
最新のパッケージはダウンロードページからもダウンロードできます。
- 必要な名前空間を追加する
using Aspose.Pdf;
using Aspose.Pdf.Text;
using Aspose.OCR.Cloud;
- クライアント資格情報を設定する
Aspose Cloud ダッシュボードから取得した値で YOUR_CLIENT_ID と YOUR_CLIENT_SECRET を置き換えてください。これらの認証情報は REST 呼び出しのためのアクセストークンを取得する際に使用されます。
- テスト用の一時ライセンスを設定する(オプションですが推奨)
// No explicit license code required for the cloud library; use the temporary license page if needed.
本番環境で使用する場合は、一時ライセンスページ からフルライセンスを購入してください。
まとめ
あなたは、C# で Aspose.OCR Cloud SDK for .NET を使用して、ネイティブコードと cURL を使用した REST API の両方で XML データを PDF にインポートする方法を学びました。この例では、XML を効率的に解析し、PDF の出力をスタイル設定し、エラーを適切に処理する方法を示しています。クライアント資格情報を保護し、開発時には一時ライセンスを使用し、本番環境に移行する際にはフルライセンスにアップグレードすることを忘れないでください。ご質問がある場合は、Aspose コミュニティフォーラムと公式サポートチャネルが常に支援します。
ご質問がある場合
-
C#でコードを書かずにXMLデータをPDFにインポートするには?
import XML data to PDF Rest in .NET エンドポイントを使用できます(cURL セクションで説明されています)。XML ファイルをアップロードし、/xmlpdfエンドポイントを呼び出して、生成された PDF をダウンロードしてください。 -
単一のリクエストで複数のXMLファイルをPDFに変換することは可能ですか?
APIは現在、リクエストごとに1つのファイルしか処理できませんが、C#やシェルスクリプトでループを組んでバッチ処理を効率的に行うことができます。 -
出力PDFでサポートされているファイル形式は何ですか?
SDKは常に標準的なPDFファイルを生成します。他の形式が必要な場合は、Aspose.PDF Cloud SDK for .NET を使用してPDFをさらに変換することを検討してください。 -
生成された PDF でフォントや色をカスタマイズできますか?
はい、TextFragmentオブジェクトのTextStateプロパティを調整することで、フォントサイズ、スタイル、色を設定できます。詳細は API reference をご覧ください。