フッターコンテンツにスキップ
.NETヘルプ

RestSharp C# (開発者向けの仕組み)

RestSharpは、C#でHTTPリクエストを行うための人気のオープンソース.NETライブラリです。 それは、RESTful APIを操作するプロセスを簡略化し、ウェブサービスと通信するためのシンプルで柔軟な方法を提供します。 In this article, we'll explore the crucial features of RestSharp and IronPDF and demonstrate how you can extract data and generate a PDF.

なぜRestSharpなのか?

現代のマルチティアアプリケーションでは、異なるサービスが頻繁に通信する必要があり、RestSharpは複雑さをすべてカプセル化することでシンプルで効率的な方法を提供します。 これは、ソフトウェア開発プロセスを大いに簡素化します。

RestSharpのインストール

RestSharpはNuGetパッケージとして提供されており、C#プロジェクトにインストールできます。 これは、NuGetパッケージマネージャコンソールまたはVisual StudioのNuGetパッケージマネージャUIを使用して実行できます。

Install-Package RestSharp

簡単なGETリクエストの作成

RestSharpを使用してRESTful APIへのGETリクエストを行う簡単な例から始めましょう。公開されているASP.NETコアAPIからユーザーデータを取得したいと仮定します。

using RestSharp;
namespace rest_sharp_demo
{
    class Program
    {
        static void Main()
        {
            // Base URL for the REST API
            var baseUrl = "https://jsonplaceholder.typicode.com/users";

            // Create a RestClientOptions with default credentials
            var options = new RestClientOptions(baseUrl) { UseDefaultCredentials = true };
            var client = new RestClient(options);

            // Create a RestRequest for the GET method
            var request = new RestRequest();

            // Execute the request and get the response
            var response = client.Get(request);

            // Check if the request was successful
            if (response.IsSuccessful)
            {
                // Output the response body content
                Console.WriteLine(response.Content);
            }
            else
            {
                // Handle the error
                Console.WriteLine($"Error: {response.ErrorMessage}");
            }
        }

        // Additional method to log data
        public void LogData(string msg)
        {
            Console.WriteLine(msg);
        }
    }
}
using RestSharp;
namespace rest_sharp_demo
{
    class Program
    {
        static void Main()
        {
            // Base URL for the REST API
            var baseUrl = "https://jsonplaceholder.typicode.com/users";

            // Create a RestClientOptions with default credentials
            var options = new RestClientOptions(baseUrl) { UseDefaultCredentials = true };
            var client = new RestClient(options);

            // Create a RestRequest for the GET method
            var request = new RestRequest();

            // Execute the request and get the response
            var response = client.Get(request);

            // Check if the request was successful
            if (response.IsSuccessful)
            {
                // Output the response body content
                Console.WriteLine(response.Content);
            }
            else
            {
                // Handle the error
                Console.WriteLine($"Error: {response.ErrorMessage}");
            }
        }

        // Additional method to log data
        public void LogData(string msg)
        {
            Console.WriteLine(msg);
        }
    }
}
Imports RestSharp
Namespace rest_sharp_demo
	Friend Class Program
		Shared Sub Main()
			' Base URL for the REST API
			Dim baseUrl = "https://jsonplaceholder.typicode.com/users"

			' Create a RestClientOptions with default credentials
			Dim options = New RestClientOptions(baseUrl) With {.UseDefaultCredentials = True}
			Dim client = New RestClient(options)

			' Create a RestRequest for the GET method
			Dim request = New RestRequest()

			' Execute the request and get the response
			Dim response = client.Get(request)

			' Check if the request was successful
			If response.IsSuccessful Then
				' Output the response body content
				Console.WriteLine(response.Content)
			Else
				' Handle the error
				Console.WriteLine($"Error: {response.ErrorMessage}")
			End If
		End Sub

		' Additional method to log data
		Public Sub LogData(ByVal msg As String)
			Console.WriteLine(msg)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

RestSharpは、非同期APIメソッドを使用して非同期リクエストとレスポンスをサポートしています。

レスポンスデータの処理

RestSharpは、レスポンスの内容をC#オブジェクトにデシリアライズするための便利な方法を提供します。 例を拡張して、JSONレスポンスデータをユーザーオブジェクトのリストにデシリアライズしてみましょう。

// Deserialize JSON response into a list of User objects
var users = JsonSerializer.Deserialize<List<User>>(response.Content);

// Output user information
foreach (var user in users)
{
    Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}, Email: {user.Email}");
}
// Deserialize JSON response into a list of User objects
var users = JsonSerializer.Deserialize<List<User>>(response.Content);

// Output user information
foreach (var user in users)
{
    Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}, Email: {user.Email}");
}
' Deserialize JSON response into a list of User objects
Dim users = JsonSerializer.Deserialize(Of List(Of User))(response.Content)

' Output user information
For Each user In users
	Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}, Email: {user.Email}")
Next user
$vbLabelText   $csharpLabel

この例では、JSONフィールドに対応するプロパティを持つUserクラスを定義しました。 System.Text.Json名前空間からJsonSerializer.Deserializeを使用しました。

public class User
{
    [JsonPropertyName("company")]
    public Company Company { get; set; }

    [JsonPropertyName("id")]
    public int Id { get; set; }

    [JsonPropertyName("phone")]
    public string Phone { get; set; }

    [JsonPropertyName("website")]
    public string Website { get; set; }

    [JsonPropertyName("name")]
    public string Name { get; set; }

    [JsonPropertyName("username")]
    public string Username { get; set; }

    [JsonPropertyName("email")]
    public string Email { get; set; }

    [JsonPropertyName("address")]
    public Address Address { get; set; }
}
public class User
{
    [JsonPropertyName("company")]
    public Company Company { get; set; }

    [JsonPropertyName("id")]
    public int Id { get; set; }

    [JsonPropertyName("phone")]
    public string Phone { get; set; }

    [JsonPropertyName("website")]
    public string Website { get; set; }

    [JsonPropertyName("name")]
    public string Name { get; set; }

    [JsonPropertyName("username")]
    public string Username { get; set; }

    [JsonPropertyName("email")]
    public string Email { get; set; }

    [JsonPropertyName("address")]
    public Address Address { get; set; }
}
Public Class User
	<JsonPropertyName("company")>
	Public Property Company() As Company

	<JsonPropertyName("id")>
	Public Property Id() As Integer

	<JsonPropertyName("phone")>
	Public Property Phone() As String

	<JsonPropertyName("website")>
	Public Property Website() As String

	<JsonPropertyName("name")>
	Public Property Name() As String

	<JsonPropertyName("username")>
	Public Property Username() As String

	<JsonPropertyName("email")>
	Public Property Email() As String

	<JsonPropertyName("address")>
	Public Property Address() As Address
End Class
$vbLabelText   $csharpLabel

出力

すべてのユーザーIDと名前が出力に表示されます。

RestSharp C# (開発者向けの作業方法): 図1 - すべてのユーザーIDと名前を表示するコンソール出力。

全コードは、このリンクにGitで利用可能です。

コンテンツタイプ

RestSharpはXMLまたはJSONボディリクエストを送信することをサポートしています。 RestRequestインスタンスのAddJsonBodyAddXmlBodyメソッドを使用してJSONまたはXMLボディを追加できます。 RestSharpは、コンテンツタイプを自動的に設定します。 JSONまたはXMLのレスポンスも自動的に処理します。

// Serialize the user object to JSON
var jsonBodyString = JsonSerializer.Serialize(newUser);

// Create a RestRequest for the POST method with the JSON request data
var requestData = new RestRequest().AddJsonBody(jsonBodyString);
var response = client.ExecutePost(requestData);
// Serialize the user object to JSON
var jsonBodyString = JsonSerializer.Serialize(newUser);

// Create a RestRequest for the POST method with the JSON request data
var requestData = new RestRequest().AddJsonBody(jsonBodyString);
var response = client.ExecutePost(requestData);
' Serialize the user object to JSON
Dim jsonBodyString = JsonSerializer.Serialize(newUser)

' Create a RestRequest for the POST method with the JSON request data
Dim requestData = (New RestRequest()).AddJsonBody(jsonBodyString)
Dim response = client.ExecutePost(requestData)
$vbLabelText   $csharpLabel

データをPOSTリクエストで送信する

RestSharpは、リクエストボディでデータを送信することもサポートしており、リソースを作成または更新する場合によく使用されます。 例を修正して、POSTリクエストAPIを示します:

using RestSharp;
using System.Text.Json;

namespace rest_sharp_demo
{
    class Program
    {
        static void Main()
        {
            var client = new RestClient("https://jsonplaceholder.typicode.com/users");

            // New user object
            var newUser = new User
            {
                Name = "John Doe",
                Email = "john.doe@example.com"
            };

            // Serialize the user object to JSON
            var jsonBody = JsonSerializer.Serialize(newUser);

            // Create a RestRequest for the POST method with the JSON request body
            var request = new RestRequest().AddJsonBody(jsonBody);

            // Execute the POST request
            var response = client.ExecutePost(request);

            // Check if the request was successful
            if (response.IsSuccessful)
            {
                // Output the response content
                Console.WriteLine(response.Content);
            }
            else
            {
                Console.WriteLine($"Error: {response.ErrorMessage}");
            }
        }
    }
}
using RestSharp;
using System.Text.Json;

namespace rest_sharp_demo
{
    class Program
    {
        static void Main()
        {
            var client = new RestClient("https://jsonplaceholder.typicode.com/users");

            // New user object
            var newUser = new User
            {
                Name = "John Doe",
                Email = "john.doe@example.com"
            };

            // Serialize the user object to JSON
            var jsonBody = JsonSerializer.Serialize(newUser);

            // Create a RestRequest for the POST method with the JSON request body
            var request = new RestRequest().AddJsonBody(jsonBody);

            // Execute the POST request
            var response = client.ExecutePost(request);

            // Check if the request was successful
            if (response.IsSuccessful)
            {
                // Output the response content
                Console.WriteLine(response.Content);
            }
            else
            {
                Console.WriteLine($"Error: {response.ErrorMessage}");
            }
        }
    }
}
Imports RestSharp
Imports System.Text.Json

Namespace rest_sharp_demo
	Friend Class Program
		Shared Sub Main()
			Dim client = New RestClient("https://jsonplaceholder.typicode.com/users")

			' New user object
			Dim newUser = New User With {
				.Name = "John Doe",
				.Email = "john.doe@example.com"
			}

			' Serialize the user object to JSON
			Dim jsonBody = JsonSerializer.Serialize(newUser)

			' Create a RestRequest for the POST method with the JSON request body
			Dim request = (New RestRequest()).AddJsonBody(jsonBody)

			' Execute the POST request
			Dim response = client.ExecutePost(request)

			' Check if the request was successful
			If response.IsSuccessful Then
				' Output the response content
				Console.WriteLine(response.Content)
			Else
				Console.WriteLine($"Error: {response.ErrorMessage}")
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

この例では、新しいUserオブジェクトを作成し、JSONにシリアライズしてAddJsonBodyメソッドを使用してリクエストボディに含めます。 サーバーはJSONデータを受信し、要求を適切に処理します。

出力

RestSharp C# (開発者向けの作業方法): 図2 - コンソール出力

認証

RestSharpは、認証を使用してリクエストを送信することもサポートしています。 RestClientOptionsに認証パラメータを含めることができます。

var options = new RestClientOptions("https://auth.net")
{
    Authenticator = new HttpBasicAuthenticator(_clientId, _clientSecret)
};
var options = new RestClientOptions("https://auth.net")
{
    Authenticator = new HttpBasicAuthenticator(_clientId, _clientSecret)
};
Dim options = New RestClientOptions("https://auth.net") With {.Authenticator = New HttpBasicAuthenticator(_clientId, _clientSecret)}
$vbLabelText   $csharpLabel

ここでは、クライアントIDシークレット認証を使用しており、すべてのリクエストで送信されています。

エラーハンドリング

RestSharpは、タイムアウト、認証、または認可エラーなどのURL要求中に発生するエラーを処理できます。 RestSharpは、リクエストが自動的に失敗しても例外をスローしません。 手動で設定する必要があります。

以下のエラーハンドリング構成が可能です:

  • FailOnDeserializationError: このプロパティをtrueに設定すると、RestSharpはデシリアライズが失敗した場合それをエラーとみなし、ResponseStatusErrorに設定します。
  • ThrowOnDeserializationError: このプロパティをtrueに設定すると、RestSharpはデシリアライズが失敗したときにスローします。
  • ThrowOnAnyError: リクエストを行う際またはデシリアライズ中にエラーが発生した場合に例外をスローします。
var restClientOptions = new RestClientOptions(url)
{
    ThrowOnAnyError = true
};
var client = new RestClient(restClientOptions);
var restClientOptions = new RestClientOptions(url)
{
    ThrowOnAnyError = true
};
var client = new RestClient(restClientOptions);
Dim restClientOptions As New RestClientOptions(url) With {.ThrowOnAnyError = True}
Dim client = New RestClient(restClientOptions)
$vbLabelText   $csharpLabel

Introducing IronPDF

IronPDF is a C# PDF library from Iron SoftwareのC# PDFライブラリで、PDFドキュメントの読み取りと生成をサポートします。 スタイル情報を含むフォーマットされたドキュメントを簡単にPDFに変換できる。 IronPDFは、HTMLコンテンツから簡単にPDFを生成できます; URLからHTMLをダウンロードしてPDFを生成できます。

IronPDFの重要な機能はHTMLからPDFへの変換で、レイアウトとスタイルをすべて保持します。 ウェブコンテンツをPDFに変換するので、レポート、請求書、ドキュメントに最適です。 HTMLファイル、URL、およびHTML文字列を簡単にPDFに変換できます。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Create a PDF renderer using Chrome
        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)
    {
        // Create a PDF renderer using Chrome
        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)
		' Create a PDF renderer using Chrome
		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

IronPDFライブラリのインストール

NuGetパッケージマネージャを使用して、Selenium RestSharpプロジェクトにIronPDFを統合するには、次の手順に従います:

  1. Visual Studioを開き、ソリューションエクスプローラーでプロジェクトを右クリックします。
  2. コンテキストメニューから「NuGetパッケージの管理...」を選択します。
  3. [参照]タブに移動して、IronPDFを検索します。
  4. 検索結果からIronPDFライブラリを選択し、インストールボタンをクリックします。
  5. ライセンス契約のプロンプトを承諾します。

パッケージマネージャコンソールを介してプロジェクトにIronPDFを含めたい場合は、パッケージマネージャコンソールで次のコマンドを実行します:

Install-Package IronPdf

プロジェクトに IronPDF を取得してインストールします。

NuGet ウェブサイトを使ってインストール

機能、互換性、追加のダウンロードオプションを含む IronPDF の詳細な概要については、NuGet ウェブサイトの IronPDF ページを訪れてください。https://www.nuget.org/packages/IronPdf

DLLを介してインストール

また、DLLファイルを直接使用してプロジェクトにIronPDFを取り込むこともできます。IronPDF ダウンロードからDLLを含むZIPファイルをダウンロードします。 それを解凍してプロジェクトにDLLを含めます。

ここで、すべてのユーザーを取得し、HTML文字列とIronPDFジェネレーターを使用してPDFレポートを生成します。

using System.Text.Json;
using System.Text.Json.Serialization;
using RestSharp;
using IronPdf;

namespace rest_sharp_demo
{
    class Program
    {
        static void Main()
        {
            // Create a RestClient
            var baseUrl = "https://jsonplaceholder.typicode.com/users";
            RestClientOptions options = new RestClientOptions(baseUrl) { UseDefaultCredentials = true };
            var client = new RestClient(options);

            // Create a RestRequest for the GET method
            var request = new RestRequest();

            // Execute the request and get the response
            var response = client.Get(request);

            // Check if the request was successful
            if (response.IsSuccessful)
            {
                // Deserialize JSON response into a list of User objects
                var users = JsonSerializer.Deserialize<List<User>>(response.Content);

                // Generate PDF
                var html = GetHtml(users);
                var renderer = new ChromePdfRenderer();
                var pdf = renderer.RenderHtmlAsPdf(html);
                pdf.SaveAs("UsersReport.pdf");
            }
            else
            {
                // Handle the error
                Console.WriteLine($"Error: {response.ErrorMessage}");
            }
        }

        // Method to generate HTML from user data
        private static string GetHtml(List<User>? users)
        {
            string header = @"
<html>
<head><title>Users List</title></head>
<body>
";
            var footer = @"
</body>
</html>";
            var htmlContent = header;
            foreach (var user in users)
            {
                htmlContent += $@"
    <h1>{user.Name}</h1>
    <p>Username: {user.Username}</p>
    <p>Email: {user.Email}</p>
    <p>Company: {user.Company}</p>
    <p>Phone: {user.Phone}</p>
    <p>Website: {user.Website}</p>
    <p>Suite: {user.Address.Suite}</p>
    <p>Street: {user.Address.Street}</p>
    <p>City: {user.Address.City}</p>
    <p>Zipcode: {user.Address.Zipcode}</p>
";
            }
            htmlContent += footer;
            return htmlContent;
        }
    }
}
using System.Text.Json;
using System.Text.Json.Serialization;
using RestSharp;
using IronPdf;

namespace rest_sharp_demo
{
    class Program
    {
        static void Main()
        {
            // Create a RestClient
            var baseUrl = "https://jsonplaceholder.typicode.com/users";
            RestClientOptions options = new RestClientOptions(baseUrl) { UseDefaultCredentials = true };
            var client = new RestClient(options);

            // Create a RestRequest for the GET method
            var request = new RestRequest();

            // Execute the request and get the response
            var response = client.Get(request);

            // Check if the request was successful
            if (response.IsSuccessful)
            {
                // Deserialize JSON response into a list of User objects
                var users = JsonSerializer.Deserialize<List<User>>(response.Content);

                // Generate PDF
                var html = GetHtml(users);
                var renderer = new ChromePdfRenderer();
                var pdf = renderer.RenderHtmlAsPdf(html);
                pdf.SaveAs("UsersReport.pdf");
            }
            else
            {
                // Handle the error
                Console.WriteLine($"Error: {response.ErrorMessage}");
            }
        }

        // Method to generate HTML from user data
        private static string GetHtml(List<User>? users)
        {
            string header = @"
<html>
<head><title>Users List</title></head>
<body>
";
            var footer = @"
</body>
</html>";
            var htmlContent = header;
            foreach (var user in users)
            {
                htmlContent += $@"
    <h1>{user.Name}</h1>
    <p>Username: {user.Username}</p>
    <p>Email: {user.Email}</p>
    <p>Company: {user.Company}</p>
    <p>Phone: {user.Phone}</p>
    <p>Website: {user.Website}</p>
    <p>Suite: {user.Address.Suite}</p>
    <p>Street: {user.Address.Street}</p>
    <p>City: {user.Address.City}</p>
    <p>Zipcode: {user.Address.Zipcode}</p>
";
            }
            htmlContent += footer;
            return htmlContent;
        }
    }
}
Imports System.Text.Json
Imports System.Text.Json.Serialization
Imports RestSharp
Imports IronPdf

Namespace rest_sharp_demo
	Friend Class Program
		Shared Sub Main()
			' Create a RestClient
			Dim baseUrl = "https://jsonplaceholder.typicode.com/users"
			Dim options As New RestClientOptions(baseUrl) With {.UseDefaultCredentials = True}
			Dim client = New RestClient(options)

			' Create a RestRequest for the GET method
			Dim request = New RestRequest()

			' Execute the request and get the response
			Dim response = client.Get(request)

			' Check if the request was successful
			If response.IsSuccessful Then
				' Deserialize JSON response into a list of User objects
				Dim users = JsonSerializer.Deserialize(Of List(Of User))(response.Content)

				' Generate PDF
				Dim html = GetHtml(users)
				Dim renderer = New ChromePdfRenderer()
				Dim pdf = renderer.RenderHtmlAsPdf(html)
				pdf.SaveAs("UsersReport.pdf")
			Else
				' Handle the error
				Console.WriteLine($"Error: {response.ErrorMessage}")
			End If
		End Sub

		' Method to generate HTML from user data
'INSTANT VB WARNING: Nullable reference types have no equivalent in VB:
'ORIGINAL LINE: private static string GetHtml(List<User>? users)
		Private Shared Function GetHtml(ByVal users As List(Of User)) As String
			Dim header As String = "
<html>
<head><title>Users List</title></head>
<body>
"
			Dim footer = "
</body>
</html>"
			Dim htmlContent = header
			For Each user In users
				htmlContent &= $"
    <h1>{user.Name}</h1>
    <p>Username: {user.Username}</p>
    <p>Email: {user.Email}</p>
    <p>Company: {user.Company}</p>
    <p>Phone: {user.Phone}</p>
    <p>Website: {user.Website}</p>
    <p>Suite: {user.Address.Suite}</p>
    <p>Street: {user.Address.Street}</p>
    <p>City: {user.Address.City}</p>
    <p>Zipcode: {user.Address.Zipcode}</p>
"
			Next user
			htmlContent &= footer
			Return htmlContent
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

全コードはGitでこのリンクで確認できます。

ここでは、最初にユーザーリストから必要なレポートのすべてのフォーマットを備えたHTML文字列を生成します。 次に、IronPDFを使用してPDFドキュメントを生成します。 RenderHtmlAsPdfメソッドを使用して、HTML文字列をPDFドキュメントに変換します。 生成されたドキュメントは以下の通りです:

RestSharp C# (開発者向けの作業方法): 図4 - 出力PDF

ドキュメントには試用ライセンス用の小さな透かしがあり、有効なライセンスを使用して削除できます。

ライセンス (無料トライアル利用可能)

上記のコードを機能させるには、ライセンスキーが必要です。 このキーは、以下のようにappsettings.jsonに配置する必要があります:

{
    "IronPdf.LicenseKey": "your license key"
}

試用ライセンスは、登録すると開発者に提供され、試用ライセンスにはクレジットカードは必要ありません。 自分のメールIDを提供して、無料試用に登録できます。

結論

RestSharpライブラリは、C#でRESTful APIを操作するプロセスを簡素化し、HTTP要求を行いレスポンスを処理するためのクリーンで効率的な方法を提供します。 GETリクエストでデータを取得する場合でも、POSTリクエストでデータを送信する場合でも、RestSharpの直感的なAPIと便利な機能は、ウェブサービスと連携するアプリケーションを構築する開発者にとって貴重なツールです。

IronPDFは、PDFを生成するための柔軟で使いやすいソリューションを提供します。 IronPDFのさまざまな機能に関する追加情報については、IronPDFドキュメントページをご覧ください。

IronPDFの永続ライセンスは、コーディングスキルを向上させ、現代のアプリケーション要件を達成するのに役立ちます。

RestSharpとIronPDFの両方を知っていることは、開発者が現代のアプリケーションを作成するための優れたスキルを追加します。

よくある質問

C# で HTML を PDF に変換するにはどうすればいいですか?

IronPDF の RenderHtmlAsPdf メソッドを使用して、HTML 文字列を PDF に変換できます。RenderHtmlFileAsPdf を使用して HTML ファイルを PDF に変換することもできます。

C#におけるRestSharpとは何ですか?

RestSharpはC#でHTTPリクエストを行うための人気のあるオープンソースの.NETライブラリです。RESTful APIとの作業を簡素化し、ウェブサービスと柔軟にやりとりできます。

C#プロジェクトにRestSharpをインストールするにはどうすればいいですか?

RestSharpはNuGetパッケージとしてC#プロジェクトにインストールできます。NuGetパッケージマネージャーコンソールでInstall-Package RestSharpコマンドを使用するか、Visual StudioのNuGetパッケージマネージャーUIを通じて行えます。

C#を使用してAPIデータからPDFを生成するにはどうすればいいですか?

RestSharpを使用してAPIからデータを取得し、IronPDFを使用してそのデータをPDFに変換することができます。最初にRestSharpを使ってデータを取得し、そのデータをHTMLにフォーマットした後、IronPDFを使用してPDFに変換します。

RestSharpにおけるエラーハンドリングのベストプラクティスは何ですか?

RestSharpはResponseStatusStatusCodeプロパティを活用してリクエストが成功したか、エラーが発生したかを確認することで、エラー対応のメカニズムを提供します。

RestSharpのレスポンスでJSONデータを扱うにはどうすればよいですか?

RestSharpはレスポンス中のJSONデータを簡単に扱えます。System.Text.JsonNewtonsoft.Jsonのようなライブラリを使用して、JSONコンテンツをC#オブジェクトにデシリアライズできます。

C#でURLをPDFに変換できますか?

はい、IronPDFを使用すると、RenderUrlAsPdfメソッドを使ってウェブURLを取得し、そのコンテンツをPDFドキュメントに変換することができます。

RestSharpを使用してPOSTリクエストでデータを送信するにはどうすればいいですか?

RestSharpでPOSTリクエストを送信するために、新しいオブジェクトを作成し、それをJSONにシリアライズしてRestRequestAddJsonBodyメソッドを使用してリクエスト本文に含めます。その後、クライアントを使ってPOSTリクエストを実行します。

RestSharpは認証をサポートしていますか?

はい、RestSharpは認証付きのリクエスト送信をサポートしています。HttpBasicAuthenticatorを使用するような基本認証を含む認証パラメータをRestClientOptionsに含めることができます。

C#アプリケーションにPDF生成を統合するにはどうすれば良いですか?

IronPDFを使用してC#アプリケーションにPDF生成を統合できます。HTMLコンテンツ、URL、またはHTMLファイルをPDFに変換することができるため、レポート、ドキュメント、または請求書をアプリケーション内で直接生成することに役立ちます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。