ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
DotNetifyは.NETとBlazorで作られたオープンソースのフレームワークで、.NETプラットフォーム上でリアルタイムのWebアプリケーションを作成することを目的としています。 クライアントとサーバー間のリアルタイム・インタラクションにSignalRのパワーを活用することで、ダイナミックでインタラクティブなウェブ・アプリケーションの構築が容易になる。 DotNetify は、クライアント側のビューをサーバーサイドスクリプティングこれにより、開発者はリッチで応答性が高く、パフォーマンスの高いオンライン・インターフェースを迅速かつ容易に設計できるようになります。
逆に、IronPDF PDF生成ライブラリは、PDF文書をプログラムで簡単に作成、編集、操作できるようにする強力な.NETパッケージです。 HTMLテキストをPDFに変換するための直感的なAPIを提供しているので、レポート、請求書、フォームのような動的でデータ駆動型のドキュメントを作成するのに最適です。
DotNetifyとIronPDFを統合することで、リアルタイムのWebインタラクティブ性と強力なPDF作成機能がC#アプリケーションに統合されます。 リアルタイムのデータ表示や、最新のデータに基づいてPDF文書を動的に作成・配布する機能を必要とするアプリケーションでは、この統合が特に役立ちます。 開発者はIronPDFの多彩なPDF生成と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 はオープンソースプロジェクトであり、コミュニティの参加と貢献により、継続的なアップグレードと機能強化が保証されています。
簡単なプロジェクトを立ち上げ、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ライブラリ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
ドットネットファイの設定
スタートアップの設定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など。)を作成し、ViewModel にバインドして Blazor コンポーネントを作成します。
@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に接続し、そのプロパティにバインドします。 ユーザーが "Generate PDF "ボタンを押すと、コンポーネントはViewModelのメソッドを呼び出します、PDFの作成そしてダウンロードURLを動的に更新する。 この構成により、Webアプリケーションは、IronPDFの強力なドキュメント生成機能とDotNetifyのリアルタイムデータ同期を統合することで、レスポンシブで魅力的なユーザーエクスペリエンスを提供します。
DotNetifyとIronPDFを統合することで、リアルタイムのデータ同期とダイナミックPDF作成がC# ASP.NET Core Blazorアプリケーションに組み合わされます。 クライアントサイドのBlazorコンポーネントとサーバーサイドのViewModels間のスムーズな通信を可能にするDotNetifyによって、インタラクティブでレスポンシブなアプリケーションが実現します。 これはIronPDFによって強化され、サーバーサイドのロジックから直接PDFを作成、修正するための強力なツールを提供します。 この強力な組み合わせの助けを借りて、開発者は、ユニークなドキュメントを作成し、送信するだけでなく、リアルタイムで更新できるアプリを作成することができます。
この統合は、リアルタイム・データ処理と文書生成技術を最大限に活用し、報告書作成、請求書作成、その他の文書関連業務のいずれにおいても、ユーザー・エクスペリエンスを向上させる。 開発者は、記載されている手順に従って、これらのツールを素早く簡単にセットアップして使用することができ、現代のウェブアプリケーション開発の可能性を広げる。
IronPDFを使えば、OCR、バーコードスキャン、PDF作成、Excel接続など、様々なことが可能です。IronSoftware 開発者ツールその豊富な機能を試してみたい開発者のために。
プロジェクトに関連するライセンスの選択肢が詳細に指定されていれば、開発者は最適なモデルを選択しやすくなる。 前述の利点により、開発者はさまざまな問題に対する解決策をタイムリーに、協調的に、効果的に実施することができる。
9つの .NET API製品 オフィス文書用