TX Text Control系列教程— ASP.NET :在.NET 5中将.NET Server用于ASP.NET

.NET 5已经发布了,它是将.NET Core和.NET Framework更多的结合在一起(包括Win32层)。虽然,.NET 5并不是.NET框架的替代品,但.NET 5是.NET的主要实现,仍然支持.NET框架4.8。

TX Text Control Server for ASP.NET (incl. WPF)是一个企业级的服务器端文字处理控件。它为用于ASP.NET服务器环境提供一个完全可编程的文字处理引擎,并且包含一个WPF客户端版本。

TX Text Control Server for ASP.NET (incl. WPF)最新试用版


.NET 5已经发布了,它是将.NET Core和.NET Framework更多的结合在一起(包括Win32层)。虽然,.NET 5并不是.NET框架的替代品,但.NET 5是.NET的主要实现,仍然支持.NET框架4.8。

具体到网络世界,.NET 5将是未来的主要平台。我们将很快发布关于.NET计划的详细策略,包括.NET 5支持的Windows Forms和WPF库的发布日期。

ASP.NET核心

ASP.NET Web组件部分TX Text Control .NET Server for ASP.NET已经可以在Visual Studio 2019(> 16.8.0)中构建的.NET 5 ASP.NET Core Web应用程序中使用。在.NET Core的早期版本中,没有包含所需的System.Drawing程序集,并且许可证管理器(LC.EXE)无法工作。.NET 5终于解决了这些悬而未决的问题。

下面的教程展示了如何使用在线编辑器TextControl和ServerTextControl类创建文档的.NET 5 ASP.NET Core Web应用程序。

创建应用程序

确保您下载了.NET 5 SDK附带的最新版本的Visual Studio 2019(> 16.8.0)。

  • 在Visual Studio 2019中,选择 “创建新项目 “来创建一个新项目。
  • 选择ASP.NET Core Web Application作为项目模板,并用 “下一步 “确认。

TX Text Control系列教程— ASP.NET :在.NET 5中将.NET Server用于ASP.NET

  • 为您的项目选择一个名称,并以 “创建 “确认。
  • 在下一个对话框中,选择ASP.NET Core 5.0作为平台,选择ASP.NET Core Web App(Model-View-Controller)作为模板,并用Create确认。

TX Text Control系列教程— ASP.NET :在.NET 5中将.NET Server用于ASP.NET

添加NuGet包

  • 在 “解决方案资源管理器 “中,选择您创建的项目,并从 “项目 “主菜单中选择管理NuGet包…。

浏览 txtextcontrol.web 并安装最新版本的 TXTextControl.Web 包。

TX Text Control系列教程— ASP.NET :在.NET 5中将.NET Server用于ASP.NET

配置应用程序

打开位于项目根目录下的Startup.cs文件。在Configure方法中,在该方法的结尾添加以下代码。

// serve static linked files (JavaScript and CSS for the editor)app.UseStaticFiles(new StaticFileOptions{    FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(       System.IO.Path.Combine(System.IO.Path.GetDirectoryName(           System.Reflection.Assembly.GetEntryAssembly().Location),           "TXTextControl.Web")),    RequestPath = "/TXTextControl.Web"});// enable Web Socketsapp.UseWebSockets();// attach the Text Control WebSocketHandler middlewareapp.UseMiddleware<TXTextControl.Web.WebSocketMiddleware>();

将控件添加到视图中

在 “视图”->”主页 “文件夹中找到Index.cshtml文件。用下面的代码替换完整的内容。

@using TXTextControl.Web.MVC@Html.TXTextControl().TextControl().Render()<input type="button" value="Create PDF" onclick="createPDF()" />@section Scripts {    <script type="text/javascript">        // converts base64 string back to a blob        function base64ToBlob(base64) {            var binary = atob(base64.replace(/s/g, ''));            var len = binary.length;            var buffer = new ArrayBuffer(len);            var view = new Uint8Array(buffer);            for (var i = 0; i < len; i++) {                view[i] = binary.charCodeAt(i);            }            return view;        }        function createPDF() {            // save the contents of the editor            TXTextControl.saveDocument(TXTextControl.streamType.InternalUnicodeFormat, function (e) {                // call the Web API "CreatePDF"                $.ajax({                    type: "POST",                    url: "/Home/CreatePDFd=123",                    contentType: 'application/json',                    data: JSON.stringify({                        document: e.data                    }),                    success: successFunc,                    error: errorFunc                });                function successFunc(data, status) {                    // create a file blob                    var file = new Blob([base64ToBlob(data)], { type: "application/pdf" });                    // create a temporary link element                    var a = document.createElement("a");                    a.href = URL.createObjectURL(file);                    a.download = "results.pdf";                    // attach to body and click                    document.body.appendChild(a);                    a.click();                    // remove the element                    setTimeout(function () {                        document.body.removeChild(a);                    }, 0);                }                function errorFunc(xhr, ajaxOptions, thrownError) {                    alert(thrownError);                }            });        }    </script>}

这段代码将Text控件添加到视图和按钮中,调用Web API端点来创建PDF文档。

将ServerTextControl添加到项目中

  • 当项目在解决方案资源管理器中被选中时,选择项目->添加参考…打开参考管理器。在打开的对话框中,选择浏览…来选择所需的 TX Text Control 程序集。导航到 TX Text Control 的安装文件夹,并从汇编文件夹中选择以下汇编。
    • TXDocumentServer.dll
    • TXTextControl.dll
    • TXTextControl.Server.dll

TX Text Control系列教程— ASP.NET :在.NET 5中将.NET Server用于ASP.NET

重复这一步,从Assembly/bin64文件夹中取出下列程序集。

    • txic.dll
    • txkernel.dll
    • txtools.dll

选择这些程序集后,用 “确定 “确认关闭参考管理器。

  • 在解决方案资源管理器中选择项目时,选择项目->添加现有项目….。浏览到TX Text Control安装文件夹,从Assembly/bin64中选择以下文件。
    • tx28_xml.dll
    • tx28_css.dll
    • tx28_doc.dll
    • tx28_dox.dll
    • tx28_htm.dll
    • tx28_pdf.dll
    • tx28_rtf.dll
    • tx28_xlx.dll

在 “解决方案资源管理器 “中选择步骤6中的文件,并将 “复制到输出目录 “设置为 “始终复制”。

在解决方案资源管理器中选择项目的同时,选择项目->添加新项目….。选择文本文件,将文件命名为licenses.licx,并单击 “添加 “关闭对话框。

TX Text Control系列教程— ASP.NET :在.NET 5中将.NET Server用于ASP.NET
打开新添加的文件,添加以下内容。
TXTextControl.ServerTextControl, TXTextControl.Server, Culture=neutral, PublicKeyToken=6b83fe9a75cfb638

将 “构建动作 “属性设置为 “嵌入资源”。

在 “解决方案资源管理器 “中选择项目,从 “项目主菜单 “中选择 “编辑项目文件”。找到PropertyGroup条目,用以下代码替换整个节点。

<PropertyGroup>  <TargetFramework>net5.0</TargetFramework>  <EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization></PropertyGroup>

添加Web API端点

在Models文件夹中创建一个名为TransferDocument.cs的新类文件,并向该类添加以下代码。

public class TransferDocument {  public string Document { get; set; }}

打开HomeController.cs,添加以下方法。

[HttpPost]public IActionResult CreatePDF([FromBody] TransferDocument document) {  // create a ServerTextControl  using TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl();  tx.Create();  tx.Load(Convert.FromBase64String(document.Document),    TXTextControl.BinaryStreamType.InternalUnicodeFormat);  byte[] bPDF;  tx.Save(out bPDF, TXTextControl.BinaryStreamType.AdobePDF);  return Ok(bPDF);}

现在,编译并启动应用程序。输入一些文本,然后点击 “创建PDF “按钮来调用创建的端点。

TX Text Control系列教程— ASP.NET :在.NET 5中将.NET Server用于ASP.NET

如果您对Text Control感兴趣,可以咨询在线客服>>购买正版授权软件。

关注慧聚IT微信公众号 了解产品的最新动态及最新资讯。


标签:文字处理控件

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月22日
下一篇 2020年10月22日

相关推荐

发表回复

登录后才能评论