.NET ヘルプ

C#をリフィットする(開発者のための仕組み)

イントロダクション

2つの強力なライブラリの最高の機能を組み合わせることで、RefitIronPDFをC#で統合し、非常に効果的なアプリケーションを作成します。 Refitは、開発者がC#の特徴を持つAPIインターフェースを設計し、HTTPリクエストを自動生成し、型安全なAPIアクセスを保証することで、RESTful APIの使用をより簡単にします。 逆に、IronPDFはPDFファイルのマージや注釈、HTMLコンテンツの変換など、PDFファイルを扱うための強力な機能を幅広く提供しています。 これらのライブラリを組み合わせることで、データの表示と検索のためのスムーズなワークフローが実現する。 Refitのようなツールを使用してAPIからデータを取得し、IronPDFを使用してそのデータに基づいて完全で優れたPDFレポートを作成することで、データ駆動型のアプリケーション開発をより効率的かつ生産的に行うことができます。

リフィットC#とは?

Refit は、HTTPリクエストをRESTful APIに送信するプロセスを簡略化するために宣言的でタイプセーフな方法論を使用する.NET向けのオープンソースフレームワークです。Refitは、特性で装飾されたC#インターフェイスとしてAPIエンドポイントを指定することにより、必要なHTTPクライアントコードを自動的に生成します。 これにより、定型文が大幅に削減され、コードの可読性が向上する。 実行時ではなくコンパイル時にミスを検出することで、このテクニックはメソッドのシグネチャがAPIのエンドポイントと正しく一致することを保証する。

さらに、RefitはJSONのシリアライズとデシリアライズを簡単に処理するため、開発者はAPI応答を手動で変換する代わりに、C#オブジェクトと対話することができます。 HTTPメソッド、ヘッダー、パラメーターをインターフェース仕様で直接定義することで、属性は設定をよりシンプルにする。 APIエンドポイントが更新されたときにクライアントコードを修正する必要が少なくなるため、コードがシンプルになり、保守が容易になる。

例えば、Refit は [Get("/users/{id}")] 属性を持つインターフェース内でメソッドを作成することによって、必要な HTTP GET リクエスト文字列ユーザー名を生成できます。 このリクエストは、型安全なメソッド呼び出しによって行うことができる。 Refitは、HTTPクライアントの管理に伴う頭痛の種を抽象化することで、開発者が.NETアプリケーションにAPIを統合するための、より生産的なソリューションです。

Refit C# (開発者向けの使い方): 図1 - Refit: .NET Core、Xamarin、.NET ための自動型安全なRESTライブラリ

リフィットC&numの特徴;

タイプセーフAPIの可用性

Refitはコンパイル時にミスを検出し、メソッドのシグネチャがAPIのエンドポイントと一致していることを確認する。 この型安全性によって、エンドポイントの不一致やリクエストの不適切なセットアップに起因する実行時エラーの可能性が減少する。

HTTPクライアント宣言型

C#インターフェースと属性は、開発者がAPIエンドポイントを構築するために使用することができます。 この宣言的メソッドは、クライアントごとにHTTPリクエスト・メソッドを実装する煩雑さを抽象化する。

自動シリアライズとデシリアライズ

Refitは、C#オブジェクトからJSONデータへの変換を自動的に行います。 開発者はリクエスト・ボディのシリアライズやレスポンスのデシリアライズを手作業で行う必要がなくなったため、データの取り扱いが非常にシンプルになった。

属性に基づく構成

属性は、HTTPメソッド(GET、POST、PUT、DELETEなど)とパラメータを定義するために使用されます。 ヘッダ、リクエストボディ、コンテンツ、パスパラメータ、クエリパラメータで構成されるため、シンプルで理解しやすい。

非同期プログラミングのサポート

Refitはタスクベースのメソッドを使用して非同期HTTPリクエストを処理し、.NETの非同期プログラミングモデルと簡単に相互作用するように作られています。

適応可能なウェブブラウザ

コアHTTPクライアントは、タイムアウト数、デフォルトのヘッダー設定、ロギング、認証、再試行ポリシーのメッセージハンドラ設定を変更することで、開発者がカスタマイズできる。

統合エラー管理

RefitにはHTTPの問題を処理する機能が組み込まれており、開発者は独自のエラー処理ロジックを簡単に組み込むことができます。

適応性

開発者は、Refitのカスタムシリアライゼーションおよびデシリアライゼーションコンバータを使用することで、複数のフォーマットを利用したり、特殊なデータ型を処理したりすることができます。

依存性注入の統合を組み合わせる

Refitは、依存性注入(DI)の推奨プラクティスに従う現代の.NETアプリケーションに最適です。DIアプリケーションへの統合が簡単だからです。

検証の支援

APIコールのセキュリティを確保するために、Refitでは認証ヘッダー、ベアラートークンなどのインターフェースメソッド、ベーシック認証を簡単に設定できます。

リフィットC&numの作成と設定;

Refit ク ラ イ ア ン ト を C# で構築 ・ 設定す る には、 以下の手順を使用 し ます:

新しいVisual Studioプロジェクトを作成する

コンソール・プロジェクトの作成は、Visual Studioを使えば簡単です。 Visual Studioでコンソールアプリケーションを作成するには、次の手順に従います:

Visual Studioを使用する前に、コンピューターにインストールされていることを確認してください。

新しいプロジェクトを開始

Visual Studioを開き、"Create a new project "オプションをクリックする。

Refit C#(開発者向けの仕組み):図2 - Visual Studioで「新しいプロジェクトの作成」オプションをクリックし、コンソールアプリを選択します。

「Create a new project」ボックスの左側の選択肢から、希望するプログラミング言語(例えば、C#)を選択します。

以下のプロジェクトテンプレートリファレンスリストから、「Console App」または「Console App (.NET Core)」テンプレートを選択できます。

プロジェクトに名前を付け、プロジェクトの保存場所を選択します。

![Refit C# (開発者向けの動作方法): 図3 - プロジェクト名、場所、ソリューション名を指定してコンソールアプリを設定します。] 次に、「次へ」をクリックします。

適切な .NET Framework を選択します。 次に「Create」をクリックして、コンソール・アプリケーション・プロジェクトを作成します。

![Refit C#(開発者向けの使い方): 図4 - .NET Frameworkを選択し、「作成」をクリックします。] コンソール アプリ プロジェクトが正常に作成されます。

インストール・リフィット

まず、Refitライブラリをプロジェクトに組み込む必要があります。 NuGetパッケージマネージャを使用してRefit NuGetパッケージをインストールするか、Visual Studioの.NET CLIを使用してこれを行うことができます。

インストールに .NET CLI を使用:

dotnet add package Refit
dotnet add package Refit
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

APIインターフェースの定義

APIを象徴するインターフェースを作る。 HTTPメソッドとエンドポイントを定義するには、Refit属性を使用します。

using Refit;
using System.Threading.Tasks;
public interface IMyApi
{
    [Get("/users/{id}")]
    Task<User> GetUserAsync(int id);
    [Post("/users")]
    Task<User> CreateUserAsync([Body] User user);
}
public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    // Other properties...
}
using Refit;
using System.Threading.Tasks;
public interface IMyApi
{
    [Get("/users/{id}")]
    Task<User> GetUserAsync(int id);
    [Post("/users")]
    Task<User> CreateUserAsync([Body] User user);
}
public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    // Other properties...
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Refitクライアントの作成と設定

Refitクライアントを起動し、必要に応じて設定を調整します。 これはメインコードに直接実装することも、アプリケーションの他の場所にあるサービスに実装することもできる。

using Refit;
using System;
using System.Threading.Tasks;
public class Program
{
    public static async Task Main(string[] args)
    {
        // Define the base URL of your API
        var apiClient = RestService.For<IMyApi>("https://api.example.com");
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        // Create a new user
        var newUser = new User { Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
    }
}
using Refit;
using System;
using System.Threading.Tasks;
public class Program
{
    public static async Task Main(string[] args)
    {
        // Define the base URL of your API
        var apiClient = RestService.For<IMyApi>("https://api.example.com");
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        // Create a new user
        var newUser = new User { Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

高度な設定

基礎となる HttpClient を設定することで、Refit クライアントをさらにパーソナライズすることができます。 例として、タイムアウトを設定したり、ヘッダー属性を適用したり、デフォルトのヘッダーを追加したり、リトライポリシー、認証、ロギングにメッセージハンドラを使用したりすることができます。

using System.Net.Http;
using Refit;
using System;
using System.Threading.Tasks;
public class Program
{
    public static async Task Main(string[] args)
    {
        var httpClient = new HttpClient(new HttpClientHandler
        {
            // Customize the HttpClientHandler as needed
        })
        {
            BaseAddress = new Uri("https://api.example.com"),
            Timeout = TimeSpan.FromSeconds(30)
        };
        // Add default headers if needed
        httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_TOKEN_HERE");
        var apiClient = RestService.For<IMyApi>(httpClient);
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        // Create a new user
        var newUser = new User { Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
    }
}
using System.Net.Http;
using Refit;
using System;
using System.Threading.Tasks;
public class Program
{
    public static async Task Main(string[] args)
    {
        var httpClient = new HttpClient(new HttpClientHandler
        {
            // Customize the HttpClientHandler as needed
        })
        {
            BaseAddress = new Uri("https://api.example.com"),
            Timeout = TimeSpan.FromSeconds(30)
        };
        // Add default headers if needed
        httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_TOKEN_HERE");
        var apiClient = RestService.For<IMyApi>(httpClient);
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        // Create a new user
        var newUser = new User { Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

以下の手順に従っ て C# で Refit ク ラ イ ア ン ト を作成 ・ 設定す る こ と に よ っ て、 型安全で保守性に優れた RESTful API を利用す る こ と がで き ます。

Refit C#(開発者にとっての動作方法): フィギュア5 - コンソール出力

はじめに

RefitとIronPDFをC#のプロジェクトに統合するための最初のステップは、両方のライブラリをインストールし、Refitを使用してデータを取得し、IronPDFを使用してそのデータに基づいてPDFを作成するシンプルなAPIクライアントを構成することです。 そのための手順は以下の通りだ:

IronPDFとは何ですか?

.NETアプリケーションでPDFドキュメントを扱うための機能豊富なライブラリはIronPDFと呼ばれています。 その豊富な機能により、ユーザーはゼロから、またはHTML素材からPDFを作成することができます。 IronPDFはPDFファイルを作成、変更、変換するための堅牢なAPIを開発者に提供し、.NETアプリケーションでPDFを扱うことを容易にします。

IronPDFは、元のレイアウトとスタイルを正確に保持してHTMLからPDFへの変換に優れています。 それは、レポート、請求書、およびドキュメントなどのWebベースのコンテンツからPDFを作成するのに最適です。 IronPDFはHTMLファイル、URL、生のHTML文字列をサポートしており、簡単に高品質なPDFドキュメントを生成します。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Refit C# (開発者向けの仕組み): 図6 - IronPDF for .NET: C# PDFライブラリー

IronPDFの主な機能

HTML から PDF への変換

IronPDFはCSSやJavaScriptを含むHTMLコンテンツを使って高品質のPDFドキュメントを作成することができます。 この機能は、動的コンテンツやウェブページからPDFを作成するのに非常に役立ちます。

PDFの編集と操作

IronPDFは既に存在するPDFドキュメントの修正ツールを提供します。PDFからページを抜き出したり、テキスト、写真、透かし、メモを追加したり、複数のPDFを一つの文書にまとめたりすることができます。

最初からPDFを作成する

IronPDFのAPIを使えば、新しいPDFドキュメントにテキスト、写真、図形、その他のオブジェクトをプログラムで追加することができます。 これにより、PDFの請求書や報告書、その他の文書ベースの出力を動的に生成することが可能になります。

PDFのセキュリティ

IronPDFを使用してPDFドキュメントを暗号化し、パスワードセキュリティを追加することで、アクセスを管理し、重要なデータを保護することができます。

PDFフォーム

フォームフィールドにデータを入れることで、ユーザーはIronPDFでPDFフォームを作成し、記入することでPDFドキュメントと対話することができます。

テキスト抽出

IronPDFはPDF文書からテキストコンテンツを抽出することにより、テキストデータの検索、分析、操作を容易にします。

画像フォーマットへの変換

IronPDFはPDFドキュメントをPNG、JPEG、BMPなどの一般的な画像フォーマットに変換できるので、PDFの代わりに画像が必要な場合に適しています。

IronPDF をインストール

.NET CLIまたはNuGetパッケージマネージャーを使用して、IronPDFを.NETプロジェクトに追加します。

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
$vbLabelText   $csharpLabel

IronPDFとRefit C&numの統合;

RefitとIronPDFを組み合わせたC#のコード例を分解してみましょう。 この例では、Refitを使って架空のRESTful APIからデータを取得し、IronPDFを使ってそのデータに基づいてPDFドキュメントを作成します。 これは以下のコードの動作である:

using System;
using IronPdf;
using Refit;
    public static async Task Main(string[] args)
    {
        var apiClient = RestService.For<IMyApi>("https://api.example.com");
        try
        {
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        GeneratePdf(user);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        var rand = new Random(100);
        // Create a new user
        var newUser = new User { Id = rand.Next(), Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
//Passing html string as method parameter
public static void GeneratePdf(User user)
{
    var htmlContent = $@"
    <html>
        <head>
            <style>
                body {{ font-family: Arial, sans-serif; }}
                h1 {{ color: navy; }}
                p {{ font-size: 14px; }}
            </style>
        </head>
        <body>
            <h1>User Details</h1>
            <p><strong>ID:</strong> {user.Id}</p>
            <p><strong>Name:</strong> {user.Name}</p>
        </body>
    </html>";
    // Create an IronPDF ChromePdfRenderer instance
    var renderer = new ChromePdfRenderer();
    var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
    // Save the PDF to a file
    var filePath = "UserDetails.pdf";
    pdfDocument.SaveAs(filePath);
    Console.WriteLine($"PDF generated and saved to {filePath}");
}
using System;
using IronPdf;
using Refit;
    public static async Task Main(string[] args)
    {
        var apiClient = RestService.For<IMyApi>("https://api.example.com");
        try
        {
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        GeneratePdf(user);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        var rand = new Random(100);
        // Create a new user
        var newUser = new User { Id = rand.Next(), Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
//Passing html string as method parameter
public static void GeneratePdf(User user)
{
    var htmlContent = $@"
    <html>
        <head>
            <style>
                body {{ font-family: Arial, sans-serif; }}
                h1 {{ color: navy; }}
                p {{ font-size: 14px; }}
            </style>
        </head>
        <body>
            <h1>User Details</h1>
            <p><strong>ID:</strong> {user.Id}</p>
            <p><strong>Name:</strong> {user.Name}</p>
        </body>
    </html>";
    // Create an IronPDF ChromePdfRenderer instance
    var renderer = new ChromePdfRenderer();
    var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
    // Save the PDF to a file
    var filePath = "UserDetails.pdf";
    pdfDocument.SaveAs(filePath);
    Console.WriteLine($"PDF generated and saved to {filePath}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Refitの特徴を使用して、IMyApiというAPIインターフェースを構築し、ユーザーデータを取得するエンドポイントを提供します。 API 用の Refit クライアントを作成し、Main 関数でユーザーデータを非同期に取得します。 データが正常に取得された場合、ユーザーオブジェクトはGeneratePdfメソッドに渡されます。 IronPDFのChromePdfRendererクラスを使用して、HTMLコンテンツをPDFに変換し、GeneratePdfメソッドでユーザーの詳細を表すテキストを作成し、それをPDFドキュメントとして出力します。 その後、作成されたPDFはディスクファイルに保存されます。

Refit C#(開発者にとっての仕組み):図7 - コンソール出力

以下は生成されたPDFファイルのスクリーンショットです。

Refit C#(開発者にとっての働き方): 図8 - IronPDFを使用して生成された出力PDF

結論

まとめると、RESTful APIとPDF制作に取り組んでいる開発者は、RefitとC#のIronPDFとの統合によって、強力で効果的なソリューションを持っています。 Refitインターフェイスは定型コードを減らし、保守性を向上させ、型安全で宣言的なアプローチを提供し、APIの利用を容易にします。しかしながら、IronPDFはPDFドキュメントを作成、修正、操作するための広範なツールコレクションを提供しており、HTMLテキストから高品質のPDFを簡単に作成することができます。

開発者は、Refitを使用してAPIからデータを簡単に取得し、そのデータをもとにIronPDFを統合して動的なPDFドキュメントを作成することができます。 ワークフローは、この統合によって合理化され、ダイナミックでデータ駆動型のPDFレポート、請求書、その他のドキュメントベースの出力を作成する機会も数多く生まれます。

IronPDFおよびその他のIron Software Technologiesをエンタープライズアプリケーション開発スタックに統合することで、クライアントとエンドユーザー向けに機能豊富で高品質なソフトウェアソリューションを提供できます。 この強固な基盤によって、プロジェクトやバックエンドシステム、プロセス強化も容易になる。

開発者は、無料試用版を最大限に活用できます。IronPDFの費用は$749です。 これらの技術は、豊富な文書、活発なオンライン開発者コミュニティ、定期的なアップデートのおかげで、現代のソフトウェア開発プロジェクトにとって優れた選択肢です。

IronPDF の使い始めについて詳しく知るには、HTML から PDF を作成するためのコード例包括的なドキュメントのページをご覧ください。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
CSLA .NET (開発者のための仕組み)
次へ >
NBuilder .NET (開発者のための仕組み)