-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added the Forms sample in Blazor platform
- Loading branch information
1 parent
23ae2c4
commit 508fda1
Showing
39 changed files
with
1,627 additions
and
0 deletions.
There are no files selected for viewing
25 changes: 25 additions & 0 deletions
25
Forms/OpenPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted.sln
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
# Visual Studio Version 17 | ||
VisualStudioVersion = 17.6.33723.286 | ||
MinimumVisualStudioVersion = 10.0.40219.1 | ||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlazorPDFGettingStarted", "BlazorPDFGettingStarted\BlazorPDFGettingStarted.csproj", "{BA279A83-F445-4234-AF7E-BB3F31D95D4E}" | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|Any CPU = Debug|Any CPU | ||
Release|Any CPU = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{BA279A83-F445-4234-AF7E-BB3F31D95D4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{BA279A83-F445-4234-AF7E-BB3F31D95D4E}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{BA279A83-F445-4234-AF7E-BB3F31D95D4E}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{BA279A83-F445-4234-AF7E-BB3F31D95D4E}.Release|Any CPU.Build.0 = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
GlobalSection(ExtensibilityGlobals) = postSolution | ||
SolutionGuid = {4E522B04-97B1-49FF-B760-E40453111008} | ||
EndGlobalSection | ||
EndGlobal |
12 changes: 12 additions & 0 deletions
12
Forms/OpenPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/App.razor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
<Router AppAssembly="@typeof(App).Assembly"> | ||
<Found Context="routeData"> | ||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" /> | ||
<FocusOnNavigate RouteData="@routeData" Selector="h1" /> | ||
</Found> | ||
<NotFound> | ||
<PageTitle>Not found</PageTitle> | ||
<LayoutView Layout="@typeof(MainLayout)"> | ||
<p role="alert">Sorry, there's nothing at this address.</p> | ||
</LayoutView> | ||
</NotFound> | ||
</Router> |
13 changes: 13 additions & 0 deletions
13
...penPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/BlazorPDFGettingStarted.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<Project Sdk="Microsoft.NET.Sdk.Web"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>net6.0</TargetFramework> | ||
<Nullable>enable</Nullable> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Syncfusion.Pdf.Net.Core" Version="22.2.5" /> | ||
</ItemGroup> | ||
|
||
</Project> |
119 changes: 119 additions & 0 deletions
119
Forms/OpenPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/Data/PdfService.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
using Syncfusion.Pdf; | ||
using Syncfusion.Pdf.Graphics; | ||
using Syncfusion.Pdf.Grid; | ||
using Syncfusion.Drawing; | ||
using Syncfusion.Pdf.Parsing; | ||
using System.IO; | ||
|
||
namespace BlazorPDFGettingStarted | ||
{ | ||
public class PdfService | ||
{ | ||
|
||
public static MemoryStream FillPdfForm(Stream inputFileStream) | ||
{ | ||
try | ||
{ | ||
PdfLoadedDocument document = new PdfLoadedDocument(inputFileStream); | ||
PdfLoadedForm form = document.Form; | ||
|
||
PdfLoadedFormFieldCollection fields = form.Fields; | ||
|
||
for(int i = 0; i< fields.Count; i++) | ||
{ | ||
if (fields[i] is PdfLoadedTextBoxField) | ||
{ | ||
PdfLoadedTextBoxField textBoxField = fields[i] as PdfLoadedTextBoxField; | ||
switch (textBoxField.Name) | ||
{ | ||
case "txtFirst": | ||
textBoxField.Text = "Johnson"; | ||
break; | ||
case "txtLast": | ||
textBoxField.Text = "Smith"; | ||
break; | ||
case "txtPhone": | ||
textBoxField.Text = "9192356837"; | ||
break; | ||
case "txtEmail": | ||
textBoxField.Text = "[email protected]"; | ||
break; | ||
case "txtAck": | ||
textBoxField.Text = "7/28/2023"; | ||
break; | ||
} | ||
|
||
} | ||
} | ||
|
||
using (MemoryStream stream = new MemoryStream()) | ||
{ | ||
//Saving the PDF document into the stream | ||
document.Save(stream); | ||
//Closing the PDF document | ||
document.Close(true); | ||
return stream; | ||
} | ||
|
||
} | ||
catch (System.Exception ex) | ||
{ | ||
throw ex; | ||
} | ||
|
||
} | ||
|
||
public static MemoryStream FillPdfForm(byte[] inputBytes) | ||
{ | ||
try | ||
{ | ||
PdfLoadedDocument document = new PdfLoadedDocument(inputBytes); | ||
PdfLoadedForm form = document.Form; | ||
|
||
PdfLoadedFormFieldCollection fields = form.Fields; | ||
|
||
for (int i = 0; i < fields.Count; i++) | ||
{ | ||
if (fields[i] is PdfLoadedTextBoxField) | ||
{ | ||
PdfLoadedTextBoxField textBoxField = fields[i] as PdfLoadedTextBoxField; | ||
switch (textBoxField.Name) | ||
{ | ||
case "txtFirst": | ||
textBoxField.Text = "Johnson"; | ||
break; | ||
case "txtLast": | ||
textBoxField.Text = "Smith"; | ||
break; | ||
case "txtPhone": | ||
textBoxField.Text = "9192356837"; | ||
break; | ||
case "txtEmail": | ||
textBoxField.Text = "[email protected]"; | ||
break; | ||
case "txtAck": | ||
textBoxField.Text = "7/28/2023"; | ||
break; | ||
} | ||
|
||
} | ||
} | ||
|
||
using (MemoryStream stream = new MemoryStream()) | ||
{ | ||
//Saving the PDF document into the stream | ||
document.Save(stream); | ||
//Closing the PDF document | ||
document.Close(true); | ||
return stream; | ||
} | ||
|
||
} | ||
catch (System.Exception ex) | ||
{ | ||
throw ex; | ||
} | ||
|
||
} | ||
} | ||
} |
13 changes: 13 additions & 0 deletions
13
Forms/OpenPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/Data/WeatherForecast.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
namespace BlazorPDFGettingStarted.Data | ||
{ | ||
public class WeatherForecast | ||
{ | ||
public DateTime Date { get; set; } | ||
|
||
public int TemperatureC { get; set; } | ||
|
||
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); | ||
|
||
public string? Summary { get; set; } | ||
} | ||
} |
20 changes: 20 additions & 0 deletions
20
...penPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/Data/WeatherForecastService.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
namespace BlazorPDFGettingStarted.Data | ||
{ | ||
public class WeatherForecastService | ||
{ | ||
private static readonly string[] Summaries = new[] | ||
{ | ||
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" | ||
}; | ||
|
||
public Task<WeatherForecast[]> GetForecastAsync(DateTime startDate) | ||
{ | ||
return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast | ||
{ | ||
Date = startDate.AddDays(index), | ||
TemperatureC = Random.Shared.Next(-20, 55), | ||
Summary = Summaries[Random.Shared.Next(Summaries.Length)] | ||
}).ToArray()); | ||
} | ||
} | ||
} |
17 changes: 17 additions & 0 deletions
17
Forms/OpenPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/FileUtil.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
using Microsoft.JSInterop; | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Threading.Tasks; | ||
|
||
namespace BlazorPDFGettingStarted | ||
{ | ||
public static class FileUtil | ||
{ | ||
public static ValueTask<object> SaveAs(this IJSRuntime js, string filename, byte[] data) | ||
=> js.InvokeAsync<object>( | ||
"saveAsFile", | ||
filename, | ||
Convert.ToBase64String(data)); | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
Forms/OpenPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/Pages/Counter.razor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
@page "/counter" | ||
|
||
<PageTitle>Counter</PageTitle> | ||
|
||
<h1>Counter</h1> | ||
|
||
<p role="status">Current count: @currentCount</p> | ||
|
||
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button> | ||
|
||
@code { | ||
private int currentCount = 0; | ||
|
||
private void IncrementCount() | ||
{ | ||
currentCount++; | ||
} | ||
} |
42 changes: 42 additions & 0 deletions
42
Forms/OpenPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/Pages/Error.cshtml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
@page | ||
@model BlazorPDFGettingStarted.Pages.ErrorModel | ||
|
||
<!DOCTYPE html> | ||
<html lang="en"> | ||
|
||
<head> | ||
<meta charset="utf-8" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> | ||
<title>Error</title> | ||
<link href="~/css/bootstrap/bootstrap.min.css" rel="stylesheet" /> | ||
<link href="~/css/site.css" rel="stylesheet" asp-append-version="true" /> | ||
</head> | ||
|
||
<body> | ||
<div class="main"> | ||
<div class="content px-4"> | ||
<h1 class="text-danger">Error.</h1> | ||
<h2 class="text-danger">An error occurred while processing your request.</h2> | ||
|
||
@if (Model.ShowRequestId) | ||
{ | ||
<p> | ||
<strong>Request ID:</strong> <code>@Model.RequestId</code> | ||
</p> | ||
} | ||
|
||
<h3>Development Mode</h3> | ||
<p> | ||
Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred. | ||
</p> | ||
<p> | ||
<strong>The Development environment shouldn't be enabled for deployed applications.</strong> | ||
It can result in displaying sensitive information from exceptions to end users. | ||
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong> | ||
and restarting the app. | ||
</p> | ||
</div> | ||
</div> | ||
</body> | ||
|
||
</html> |
27 changes: 27 additions & 0 deletions
27
Forms/OpenPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/Pages/Error.cshtml.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
using Microsoft.AspNetCore.Mvc; | ||
using Microsoft.AspNetCore.Mvc.RazorPages; | ||
using System.Diagnostics; | ||
|
||
namespace BlazorPDFGettingStarted.Pages | ||
{ | ||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] | ||
[IgnoreAntiforgeryToken] | ||
public class ErrorModel : PageModel | ||
{ | ||
public string? RequestId { get; set; } | ||
|
||
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); | ||
|
||
private readonly ILogger<ErrorModel> _logger; | ||
|
||
public ErrorModel(ILogger<ErrorModel> logger) | ||
{ | ||
_logger = logger; | ||
} | ||
|
||
public void OnGet() | ||
{ | ||
RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier; | ||
} | ||
} | ||
} |
48 changes: 48 additions & 0 deletions
48
Forms/OpenPDFFromStream_ByteArrary/Blazor/BlazorPDFGettingStarted/Pages/FetchData.razor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
@page "/fetchdata" | ||
|
||
<PageTitle>Weather forecast</PageTitle> | ||
|
||
@using BlazorPDFGettingStarted.Data | ||
@inject WeatherForecastService ForecastService | ||
|
||
<h1>Weather forecast</h1> | ||
|
||
<p>This component demonstrates fetching data from a service.</p> | ||
|
||
@if (forecasts == null) | ||
{ | ||
<p><em>Loading...</em></p> | ||
} | ||
else | ||
{ | ||
<table class="table"> | ||
<thead> | ||
<tr> | ||
<th>Date</th> | ||
<th>Temp. (C)</th> | ||
<th>Temp. (F)</th> | ||
<th>Summary</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
@foreach (var forecast in forecasts) | ||
{ | ||
<tr> | ||
<td>@forecast.Date.ToShortDateString()</td> | ||
<td>@forecast.TemperatureC</td> | ||
<td>@forecast.TemperatureF</td> | ||
<td>@forecast.Summary</td> | ||
</tr> | ||
} | ||
</tbody> | ||
</table> | ||
} | ||
|
||
@code { | ||
private WeatherForecast[]? forecasts; | ||
|
||
protected override async Task OnInitializedAsync() | ||
{ | ||
forecasts = await ForecastService.GetForecastAsync(DateTime.Now); | ||
} | ||
} |
Oops, something went wrong.