翻譯|使用教程|編輯:況魚杰|2020-11-25 15:05:58.790|閱讀 522 次
概述:.NET 5已經發布了,它是將.NET Core和.NET Framework更多的結合在一起(包括Win32層)。雖然,.NET 5并不是.NET框架的替代品,但.NET 5是.NET的主要實現,仍然支持.NET框架4.8。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
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)。
添加NuGet包
瀏覽 txtextcontrol.web 并安裝最新版本的 TXTextControl.Web 包。
配置應用程序
打開位于項目根目錄下的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 Sockets app.UseWebSockets(); // attach the Text Control WebSocketHandler middleware app.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/CreatePDF?id=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添加到項目中
重復這一步,從Assembly/bin64文件夾中取出下列程序集。
選擇這些程序集后,用 "確定 "確認關閉參考管理器。
在 "解決方案資源管理器 "中選擇步驟6中的文件,并將 "復制到輸出目錄 "設置為 "始終復制"。
在解決方案資源管理器中選擇項目的同時,選擇項目->添加新項目....。選擇文本文件,將文件命名為licenses.licx,并單擊 "添加 "關閉對話框。
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 "按鈕來調用創建的端點。
關注慧聚IT微信公眾號 ???,了解產品的最新動態及最新資訊。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: