透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
DotNetifyは.NETとBlazorで作られたオープンソースのフレームワークで、.NETプラットフォーム上でリアルタイムのWebアプリケーションを作成することを目的としています。 クライアントとサーバー間のリアルタイム・インタラクションにSignalRのパワーを活用することで、ダイナミックでインタラクティブなウェブ・アプリケーションの構築が容易になる。 DotNetifyは、クライアント側のビューをサーバー側スクリプティングデータと同期させるプログラミングモデルであり、開発者がリッチで応答性の高い高性能なオンラインインターフェースを迅速かつ簡単に設計できるようにします。
それに対して、IronPDF PDF Generation Libraryは、PDFドキュメントをプログラムで作成、編集、および操作することを容易にする強力な.NETパッケージです。 HTMLテキストをPDFに変換するための直感的なAPIを提供しているので、レポート、請求書、フォームのような動的でデータ駆動型のドキュメントを作成するのに最適です。
DotNetifyとIronPDFを統合することで、リアルタイムのWebインタラクティブ性と強力なPDF作成機能がC#アプリケーションに統合されます。 リアルタイムのデータ表示や、最新のデータに基づいてPDF文書を動的に作成・配布する機能を必要とするアプリケーションでは、この統合が特に役立ちます。 開発者はIronPDFの多彩なPDF生成とDotNetifyのリアルタイムデータ同期を活用することで、複雑なビジネス要件に対応し、シームレスなドキュメント生成と配布を通じてユーザーエクスペリエンスを向上させる、広範でインタラクティブなオンラインアプリケーションをデザインすることができます。
DotNetifyは、.NETとBlazorを使用してインタラクティブなリアルタイムWebアプリを簡単に作成するために作られたオープンソースフレームワークです。 開発者は、クライアントとサーバー間のリアルタイム通信を容易にするSignalRを利用することで、サーバーサイドのデータと楽に同期するダイナミックで応答性の高いユーザーインターフェースを作成することができる。 DotNetifyは、リアルタイムのデータバインディングとイベント処理の難しさを抽象化することで、少ないコードで複雑なオンラインアプリケーションの作成を簡素化するリアクティブプログラミングアプローチです。
ユーザーインターフェイスが常にアプリケーションの状態を表していることを保証するために、DotNetify では開発者がサーバー上でビューモデルを構築し、その変更を即座にクライアントに伝えることができます。 このフレームワークでは、クライアント側の技術を柔軟に選択することができ、クラシックなJavaScriptフロントエンドとBlazorフロントエンドの両方をサポートしています。 その使いやすさと有効性から、ダッシュボード、コラボレーションツール、ライブデータストリームなど、リアルタイムの更新が必要なアプリケーションに最適です。
ドットネティファイが複雑なインタラクションとデータフローをリアルタイムに処理することで、スムーズなデータ同期と即時のフィードバックが可能になり、ユーザーエクスペリエンスが大幅に向上します。 総合的に考えると、DotNetifyはリアクティブで最先端のリアルタイムオンラインアプリケーションを迅速かつ効果的に構築したい.NET開発者にとって有用なソリューションです。
C#のDotNetifyが提供する多くの機能により、インタラクティブなリアルタイムのオンラインアプリを簡単に作成することができます。重要な特徴は以下の通りです:
リアルタイム通信: DotNetify は SignalR を利用してクライアントとサーバー間の双方向リアルタイム通信を促進し、インタラクティブなユーザーインターフェイスと迅速な更新を実現します。
リアクティブプログラミングモデル: クライアントサイドのビューとサーバーサイドのビューモデルが自動的に同期され、ユーザーインターフェースが最新の情報で常に更新されるリアクティブなプログラミング手法を提供します。
サーバーサイドビュー・モデル: これにより、開発者はクライアントサイドのコンポーネントがバインドできるサーバーサイドビュー・モデルを作成することが可能になり、アプリケーション内の状態管理とデータフローが簡素化されます。
BlazorとJavaScriptのサポート: クラシックなJavaScriptフロントエンドとBlazorフロントエンドの両方をサポートしており、開発者は自分のニーズに最も適したクライアントサイド技術を選択することができます。
統合の容易さ: 既存の.NETアプリケーションとのシームレスな統合により、新規または既存のプロジェクトにリアルタイム機能を簡単に追加できます。 また、Webコンポーネントを作成するためのWebSocketのようなフロントエンドのUIコンポーネントフレームワークとうまく統合し、React Native、Vue、Blazorのようなソフトウェアを使用するプロジェクトと連携する。
スケーラビリティ: SignalRに基づくDotNetifyは、そのスケーラビリティ機能を継承しており、多数の同時接続を効果的に管理するアプリケーションを可能にします。
MVVMアーキテクチャ: 責務の分割とコードのクリーンで保守しやすい整理を支援するModel-View-ViewModel (MVVM) アーキテクチャをサポートします。
イベント処理: イベント処理とデータバインディングを簡素化することで、UIのインタラクションや状態の変化を処理するために必要な定型コードを削減します。
拡張可能でカスタマイズ可能: 他のライブラリやフレームワークとの行動カスタマイズや必要な統合を可能にする拡張ポイントやフックを提供します。
強力なインフラストラクチャ: DotNetifyインフラストラクチャは、完全にバックエンドで定義可能な動的ルーティングメカニズムを提供し、ネストされたルーティング、トークンベースの認証などに対応しています。
オープンソースとコミュニティ主導:DotNetifyは、コミュニティの参加と貢献により恩恵を受けるオープンソースプロジェクトであり、継続的なアップグレードと改善を保証します。
簡単なプロジェクトを立ち上げ、C# オンラインアプリケーションで DotNetify の設定を始めるには、次のようにします。 このチュートリアルでは、ASP.NET CoreとBlazorを使って基本的なDotNetifyサーバーとクライアントを構築する方法を紹介します。
DotNetify を設定するには、Startup.cs を開き、ConfigureServices と Configure メソッドを使用します。
using DotNetify;
using DotNetify.Blazor;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSignalR();
services.AddDotNetify();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
endpoints.MapHub<DotNetifyHub>("/dotnetify");
});
}
}
using DotNetify;
using DotNetify.Blazor;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSignalR();
services.AddDotNetify();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
endpoints.MapHub<DotNetifyHub>("/dotnetify");
});
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
プロジェクトに新しいクラスファイルを作成し(例: HelloWorldViewModel.cs)、基本的なViewModelを設計します。
using DotNetify;
public class HelloWorldViewModel : BaseVM
{
public string Greetings => "Hello, World!";
}
using DotNetify;
public class HelloWorldViewModel : BaseVM
{
public string Greetings => "Hello, World!";
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
ViewModelを登録する前に、Program.csを開いてください。
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.ConfigureServices(services =>
{
services.AddTransient<HelloWorldViewModel>();
});
}
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.ConfigureServices(services =>
{
services.AddTransient<HelloWorldViewModel>();
});
}
Imports Microsoft.AspNetCore.Hosting
Imports Microsoft.Extensions.DependencyInjection
Imports Microsoft.Extensions.Hosting
Public Class Program
Public Shared Sub Main(ByVal args() As String)
CreateHostBuilder(args).Build().Run()
End Sub
Public Shared Function CreateHostBuilder(ByVal args() As String) As IHostBuilder
Return Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(Sub(webBuilder)
webBuilder.UseStartup(Of Startup)()
End Sub).ConfigureServices(Sub(services)
services.AddTransient(Of HelloWorldViewModel)()
End Sub})
End Function
プロジェクトに新しいBlazorコンポーネント(例:HelloWorld.razor)を追加し、それをViewModelに接続します。
@page "/"
@using DotNetify
@using DotNetify.Blazor
@inject IDotNetifyService DotNetify
<h3>@greetings</h3>
@code {
private string greetings;
protected override async Task OnInitializedAsync()
{
var vm = await DotNetify.ConnectAsync<HelloWorldViewModel>(this);
greetings = vm.Greetings;
}
}
@page "/"
@using DotNetify
@using DotNetify.Blazor
@inject IDotNetifyService DotNetify
<h3>@greetings</h3>
@code {
private string greetings;
protected override async Task OnInitializedAsync()
{
var vm = await DotNetify.ConnectAsync<HelloWorldViewModel>(this);
greetings = vm.Greetings;
}
}
'INSTANT VB TODO TASK: The following line could not be converted:
page "/" [using] DotNetify [using] DotNetify.Blazor inject IDotNetifyService DotNetify (Of h3) greetings</h3> code
If True Then
private String greetings
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' protected override async Task OnInitializedAsync()
' {
' var vm = await DotNetify.ConnectAsync<HelloWorldViewModel>(Me);
' greetings = vm.Greetings;
' }
End If
DotNetify、Blazor、Razor Pages、SignalRを利用するためのアプリケーションを設定します。 さらに、DotNetifyとBlazorのエンドポイントとルーティングを設定します。 挨拶メッセージを返す属性を持つ基本的な ViewModel について説明します。 HelloWorldViewModel は一時的なサービスとして登録されます。HelloWorldViewModel との接続を確立し、ウェルカムテキストを取得し、画面に表示する Blazor コンポーネント。
DotNetifyとIronPDFを使用するには、.NETプロジェクトを作成し、両方のライブラリをアプリケーションに組み込む必要があります。 ステップ・バイ・ステップのチュートリアルがここにある:
機能が豊富な .NET ライブラリ IronPDF PDF Library により、C# プログラムは PDF ドキュメントを作成、読み取り、編集できます。 このプログラムを使えば、開発者はHTML、CSS、JavaScriptの情報を高品質で印刷可能なPDFに素早く変換することができます。 最も重要なタスクには、ヘッダーとフッターの追加、PDFの分割と結合、文書への透かしの追加、HTMLからPDFへの変換などがあります。
IronPDFは.NET Frameworkと.NET Coreの両方をサポートしているので、様々なアプリケーションに役立ちます。 使い方が簡単で情報が豊富なPDFは、開発者が製品に簡単に組み込むことができます。 IronPDFは複雑なデータレイアウトやフォーマットを扱うことができるため、出力として生成されるPDFはクライアントの元のHTMLテキストに非常に似ています。 IronPDFはWindows、Web、モバイル環境などのクロスプラットフォームアプリケーションもサポートしています。
HTMLからのPDF生成
JavaScript、HTML、CSSをPDFに変換。 IronPDFはメディアクエリとレスポンシブデザインをサポートしています。 最新のウェブ標準をサポートしているため、PDFの請求書やレポート、文書をHTMLやCSSで動的に装飾するのに便利です。
PDF編集
既存のPDFにテキスト、画像、その他のコンテンツを追加することができます。 開発者はIronPDFを使ってPDFファイルからテキストや画像を取り出したり、多数のPDFを1つのファイルにまとめたり、PDFファイルを複数の紙に分割したり、透かしや注釈、ヘッダー、フッターを入れたりすることができる。
PDF変換
Word、Excel、画像ファイルなど複数のファイル形式をPDF形式に変換。 IronPDFはPDFから画像(PNG、JPEGなど)への変換もサポートしています。
パフォーマンスと信頼性
高い性能と信頼性は、産業環境において望まれる設計品質である。 IronPDFを使えば、開発者は大きなドキュメントセットを簡単に管理することができます。
.NETプロジェクトでPDFを扱うために必要なツールを得るには、IronPDFパッケージをインストールしてください。
dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
DotNetifyを構成する
スタートアップの設定Startup.cs を開き、ConfigureServices と Configure メソッドを使用して DotNetify を設定します。
using DotNetify;
using DotNetify.Blazor;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSignalR();
services.AddDotNetify();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
endpoints.MapHub<DotNetifyHub>("/dotnetify");
});
}
}
using DotNetify;
using DotNetify.Blazor;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSignalR();
services.AddDotNetify();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
endpoints.MapHub<DotNetifyHub>("/dotnetify");
});
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
プロジェクトに新しいクラスファイル(例:PdfViewModel.cs)を追加し、PDFを生成するViewModelを作成します。
using DotNetify;
using IronPdf;
public class PdfViewModel : BaseVM
{
public string PdfUrl { get; set; }
public void GeneratePdf()
{
var Renderer = new ChromePdfRenderer();
var PdfDocument = Renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
var OutputPath = "wwwroot/PdfFiles/HelloWorld.pdf";
PdfDocument.SaveAs(OutputPath);
PdfUrl = "/PdfFiles/HelloWorld.pdf";
Changed(nameof(PdfUrl));
}
}
using DotNetify;
using IronPdf;
public class PdfViewModel : BaseVM
{
public string PdfUrl { get; set; }
public void GeneratePdf()
{
var Renderer = new ChromePdfRenderer();
var PdfDocument = Renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
var OutputPath = "wwwroot/PdfFiles/HelloWorld.pdf";
PdfDocument.SaveAs(OutputPath);
PdfUrl = "/PdfFiles/HelloWorld.pdf";
Changed(nameof(PdfUrl));
}
}
Imports DotNetify
Imports IronPdf
Public Class PdfViewModel
Inherits BaseVM
Public Property PdfUrl() As String
Public Sub GeneratePdf()
Dim Renderer = New ChromePdfRenderer()
Dim PdfDocument = Renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
Dim OutputPath = "wwwroot/PdfFiles/HelloWorld.pdf"
PdfDocument.SaveAs(OutputPath)
PdfUrl = "/PdfFiles/HelloWorld.pdf"
Changed(NameOf(PdfUrl))
End Sub
End Class
新しいBlazorコンポーネントをプロジェクトに追加し(例:GeneratePdf.razor)、Blazorコンポーネントを作成するためにViewModelにバインドします。
@page "/"
@using DotNetify
@using DotNetify.Blazor
@inject IDotNetifyService DotNetify
<PageTitle>Generate PDF</PageTitle>
<h3>Generate PDF</h3>
<button @onclick="GeneratePdf">Generate PDF</button>
@if (!string.IsNullOrEmpty(pdfUrl))
{
<a href="@pdfUrl" target="_blank">Download PDF</a>
}
@code {
private string pdfUrl;
protected override async Task OnInitializedAsync()
{
var vm = await DotNetify.ConnectAsync<PdfViewModel>(this);
pdfUrl = vm.PdfUrl;
vm.PropertyChanged += (sender, args) =>
{
if (args.PropertyName == nameof(vm.PdfUrl))
{
pdfUrl = vm.PdfUrl;
StateHasChanged();
}
};
}
private void GeneratePdf()
{
DotNetify.CallMethod("GeneratePdf");
}
}
@page "/"
@using DotNetify
@using DotNetify.Blazor
@inject IDotNetifyService DotNetify
<PageTitle>Generate PDF</PageTitle>
<h3>Generate PDF</h3>
<button @onclick="GeneratePdf">Generate PDF</button>
@if (!string.IsNullOrEmpty(pdfUrl))
{
<a href="@pdfUrl" target="_blank">Download PDF</a>
}
@code {
private string pdfUrl;
protected override async Task OnInitializedAsync()
{
var vm = await DotNetify.ConnectAsync<PdfViewModel>(this);
pdfUrl = vm.PdfUrl;
vm.PropertyChanged += (sender, args) =>
{
if (args.PropertyName == nameof(vm.PdfUrl))
{
pdfUrl = vm.PdfUrl;
StateHasChanged();
}
};
}
private void GeneratePdf()
{
DotNetify.CallMethod("GeneratePdf");
}
}
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'@page "/" @using DotNetify @using DotNetify.Blazor @inject IDotNetifyService DotNetify (Of PageTitle) Generate PDF</PageTitle> (Of h3) Generate PDF</h3> <button @onclick="GeneratePdf"> Generate PDF</button> @if(!string.IsNullOrEmpty(pdfUrl))
'{
' <a href="@pdfUrl" target="_blank"> Download PDF</a>
'}
code
If True Then
private String pdfUrl
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' protected override async Task OnInitializedAsync()
' {
' var vm = await DotNetify.ConnectAsync<PdfViewModel>(Me);
' pdfUrl = vm.PdfUrl;
' vm.PropertyChanged += (sender, args) =>
' {
' if (args.PropertyName == nameof(vm.PdfUrl))
' {
' pdfUrl = vm.PdfUrl;
' StateHasChanged();
' }
' };
' }
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' private void GeneratePdf()
' {
' DotNetify.CallMethod("GeneratePdf");
' }
End If
C# ASP.NET Core BlazorアプリケーションにおけるDotNetifyとIronPDFの統合により、リアルタイムのデータハンドリングとダイナミックなPDF作成が可能になりました。 サーバーサイドの Blazor とリアルタイム機能を有効にするために、セットアップの最初のステップは、Startup.cs でプロジェクトを設定することで、そこに Razor Pages、Blazor Server、SignalR、DotNetify のサービスが登録されます。
IronPDFのPDF生成ロジックはPdfViewModel.cs ViewModelで定義されています。 わずか数行のコードでPDFファイルを生成することができます。その機能のひとつがGeneratePdf関数で、HTML情報を受け取ってPDFに変換します。 サーバにファイルを保存し、PdfUrlプロパティを更新して、新しいファイルがどこにあるかをクライアントに知らせます。 この ViewModel は GeneratePdf.razor Blazor コンポーネントと通信します。
クライアントがGeneratePdf関数を呼び出し、プロパティの変更に反応できるようにするために、IDotNetifyServiceを介してPdfViewModelに接続し、そのプロパティにバインドします。 コンポーネントは、ユーザーが「PDFを生成」ボタンを押すと、ViewModelのメソッドを呼び出し、PDFを作成し、ダウンロードURLを動的に更新します。 この構成により、Webアプリケーションは、IronPDFの強力なドキュメント生成機能とDotNetifyのリアルタイムデータ同期を統合することで、レスポンシブで魅力的なユーザーエクスペリエンスを提供します。
DotNetifyとIronPDFを統合することで、リアルタイムのデータ同期とダイナミックPDF作成がC# ASP.NET Core Blazorアプリケーションに組み合わされます。 クライアントサイドのBlazorコンポーネントとサーバーサイドのViewModels間のスムーズな通信を可能にするDotNetifyによって、インタラクティブでレスポンシブなアプリケーションが実現します。 これはIronPDFによって強化され、サーバーサイドのロジックから直接PDFを作成、修正するための強力なツールを提供します。 この強力な組み合わせの助けを借りて、開発者は、ユニークなドキュメントを作成し、送信するだけでなく、リアルタイムで更新できるアプリを作成することができます。
この統合は、リアルタイム・データ処理と文書生成技術を最大限に活用し、報告書作成、請求書作成、その他の文書関連業務のいずれにおいても、ユーザー・エクスペリエンスを向上させる。 開発者は、記載されている手順に従って、これらのツールを素早く簡単にセットアップして使用することができ、現代のウェブアプリケーション開発の可能性を広げる。
IronPDFとIron Software Developer Toolsを使用すると、OCR、バーコードスキャン、PDF作成、Excel接続、その他多くの機能を利用できます。
プロジェクトに関連するライセンスの選択肢が詳細に指定されていれば、開発者は最適なモデルを選択しやすくなる。 前述の利点により、開発者はさまざまな問題に対する解決策をタイムリーに、協調的に、効果的に実施することができる。