DioDocs for PDFを実行しているサーバーにサポートAPIを使用して(下記参照)接続すると、PDFビューワにて、一般的な編集オプション、注釈、フォームエディタツールを利用してPDFドキュメントを編集できます。
PDFビューワをPDFエディタとして設定するには、サーバー上のDioDocs for PDFに接続するためのサポートAPIを使用する必要があります。これにより、クライアント上でのPDFの編集操作や保存が可能になります。 PDFビューワは、サーバーサイドのAPI(サポートAPI経由のDioDocs for PDF)と連携し、変更を保存し、PDFをクライアントに送り返します。サポートAPIを取得する方法は、以下の2つがあります。
DioDocs.Pdf.ViewerSupportApi.jaパッケージはNuGetから取得できるとともに、「トライアル版」よりダウンロードできるDioDocs for PDFのパッケージ一式にも含まれています。このパッケージをプロジェクトの参照に追加する必要があります。
以下の手順では、ASP.NET Core WebアプリケーションでPDFビューワを構成して、PDFドキュメントを表示・編集する方法を説明します。
npm install @mescius/dspdfviewer
Index.cshtml |
コードのコピー
|
---|---|
@page @model IndexModel @{ ViewData["Title"] = "Home page"; } <style> .container { height: calc(100% - 128px); max-width: inherit; } #host, .pb-3 { height: 100%; } </style> <div id="host"></div> <script src="~/lib/node_modules/@@mescius/dspdfviewer/dspdfviewer.js" asp-append-version="true"></script> <script> var viewer = new DsPdfViewer("#host", { supportApi: 'api/pdf-viewer' }); viewer.addDefaultPanels(); viewer.addAnnotationEditorPanel(); viewer.addFormEditorPanel(); viewer.beforeUnloadConfirmation = true; viewer.newDocument(); </script> |
C# |
コードのコピー
|
---|---|
using GrapeCity.Documents.Pdf.ViewerSupportApi.Controllers; using Microsoft.AspNetCore.Mvc; namespace WebApplication1 { [Route("api/pdf-viewer")] [ApiController] public class SupportApiController : DsPdfViewerController { } } |
C# |
コードのコピー
|
---|---|
using GrapeCity.Documents.Pdf.ViewerSupportApi.Connection; using GrapeCity.Documents.Pdf.ViewerSupportApi.Controllers; using GrapeCity.Documents.Pdf.ViewerSupportApi.Models; using ProtoBuf.Meta; using System.Reflection; using System.Security.Cryptography.X509Certificates; var builder = WebApplication.CreateBuilder(args); // コンテナにサービスを追加します。 builder.Services.AddRazorPages(); builder.Services.AddCors(); DsPdfViewerHub.ConfigureServices(builder.Services); // サーバー側署名の実装。 var app = builder.Build(); app.UseCors("WebCorsPolicy"); // HTTP リクエスト パイプラインを構成します。 if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // デフォルトの HSTS 値は 30 日です。 運用シナリオではこれを変更することもできます。https://aka.ms/aspnetcore-hsts を参照してください。 app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); // 最上位のルート登録の使用を提案します。 IApplicationBuilder applicationBuilder = app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); // 最上位のルート登録の使用を提案します。 app.MapRazorPages(); app.Run(); |
以下の手順では、ASP.NET Core WebアプリケーションでPDFビューワを構成して、PDFドキュメントを表示・編集する方法を説明します。
npm install @mescius/dspdfviewer |
Index.cshtml |
コードのコピー
|
---|---|
@page @model IndexModel @{ ViewData["Title"] = "Home page"; } <style> .container { height: calc(100% - 128px); max-width: inherit; } #host, .pb-3 { height: 100%; } </style> <div id="host"></div> <script src="~/lib/node_modules/@@mescius/dspdfviewer/dspdfviewer.js" asp-append-version="true"></script> <script> var viewer = new DsPdfViewer("#host", { supportApi: 'api/pdf-viewer' }); viewer.addDefaultPanels(); viewer.addAnnotationEditorPanel(); viewer.addFormEditorPanel(); viewer.beforeUnloadConfirmation = true; viewer.newDocument(); </script> |
services.AddMvc((opts) => { opts.EnableEndpointRouting = false; }); services.AddRouting(); |
app.UseMvcWithDefaultRoute(); |
Startup.cs |
コードのコピー
|
---|---|
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; namespace WebApplication2 { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } //このメソッドは実行時に呼び出されます。このメソッドを使用して、コンテナーにサービスを追加します public void ConfigureServices(IServiceCollection services) { services.AddRazorPages(); //ルーティングを有効にします services.AddMvc((opts) => { opts.EnableEndpointRouting = false; }); services.AddRouting(); } //このメソッドを使用して、HTTP要求パイプラインを構成します public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); } app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); }); //ルーティングを有効にします app.UseMvcWithDefaultRoute(); } } } |
SupportApiController.cs |
コードのコピー
|
---|---|
using GrapeCity.Documents.Pdf.ViewerSupportApi.Controllers; using Microsoft.AspNetCore.Mvc; namespace WebApplication2 { [Route("api/pdf-viewer")] [ApiController] public class SupportApiController : DsPdfViewerController { } } |
以下の手順では、ASP.NET WebFormsアプリケーションでPDFビューワを構成して、PDFドキュメントを表示・編集する方法を説明します。
npm install @mescius/dspdfviewer |
Default.aspx |
コードのコピー
|
---|---|
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <style> html, body, body > form, .body-content { height: 100%; width: 100%; } #host { padding: 60px 20px 20px 10px; } </style> <div id="host"></div> <script src="Scripts/node_modules/@mescius/dspdfviewer/dspdfviewer.js"></script> <script> var viewer = new DsPdfViewer("#host", { supportApi: 'SupportApi' }); viewer.addDefaultPanels(); viewer.addAnnotationEditorPanel(); viewer.addFormEditorPanel(); viewer.beforeUnloadConfirmation = true; viewer.newDocument(); </script> </asp:Content> |
WebApiConfig.cs |
コードのコピー
|
---|---|
using System.Web.Http; namespace WebApplication1_WebForms.App_Start { public static class WebApiConfig { public static void Register(HttpConfiguration config) { //WebAPIの構成とサービス //WebAPIルート config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "{controller}/{action}/{id}/{id2}/{id3}", defaults: new { id = RouteParameter.Optional, id2 = RouteParameter.Optional, id3 = RouteParameter.Optional } ); } } } |
using System.Web.Http; using WebApplication1_WebForms.App_Start; |
GlobalConfiguration.Configure(WebApiConfig.Register); |
Global.asax.cs |
コードのコピー
|
---|---|
using System; using System.Web; using System.Web.Http; //追加したコード using System.Web.Optimization; using System.Web.Routing; using WebApplication1_WebForms.App_Start; //追加したコード namespace WebApplication1_WebForms { public class Global : HttpApplication { void Application_Start(object sender, EventArgs e) { // アプリケーションのスタートアップで実行するコードです RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); GlobalConfiguration.Configure(WebApiConfig.Register); //追加したコード } } } |
SupportApiController.cs |
コードのコピー
|
---|---|
using GrapeCity.Documents.Pdf.ViewerSupportApi.Controllers; namespace WebApplication1_WebForms.Controllers { public class SupportApiController : DsPdfViewerController { } } |
サポートAPIのソースは、DioDocs.Pdf.ViewerSupportApi.jaパッケージ内の「src」フォルダに格納されています。「src」フォルダには、以下のものが含まれています。
ソースからサポートAPIを使用するには、上記の手順で説明したようにNuGetパッケージ「DioDocs.Pdf.ViewerSupportApi.ja」をプロジェクトに追加する代わりに、「SupportApi」プロジェクトをコピーしてアプリケーションソリューションに含めて、その参照をメインプロジェクトに追加する必要があります。なお、「SupportApi」プロジェクトの名前は、ASP.NET CoreとASP.NET WebFormsで異なることに注意してください。
© MESCIUS inc. All rights reserved.