翻譯|使用教程|編輯:況魚杰|2020-11-25 15:05:58.790|閱讀 534 次
概述:.NET 5已經(jīng)發(fā)布了,它是將.NET Core和.NET Framework更多的結(jié)合在一起(包括Win32層)。雖然,.NET 5并不是.NET框架的替代品,但.NET 5是.NET的主要實現(xiàn),仍然支持.NET框架4.8。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
TX Text Control Server for ASP.NET (incl. WPF)是一個企業(yè)級的服務器端文字處理控件。它為用于ASP.NET服務器環(huán)境提供一個完全可編程的文字處理引擎,并且包含一個WPF客戶端版本。
	點擊下載TX Text Control Server for ASP.NET (incl. WPF)最新試用版
 
.NET 5已經(jīng)發(fā)布了,它是將.NET Core和.NET Framework更多的結(jié)合在一起(包括Win32層)。雖然,.NET 5并不是.NET框架的替代品,但.NET 5是.NET的主要實現(xiàn),仍然支持.NET框架4.8。
具體到網(wǎng)絡世界,.NET 5將是未來的主要平臺。我們將很快發(fā)布關(guān)于.NET計劃的詳細策略,包括.NET 5支持的Windows Forms和WPF庫的發(fā)布日期。
ASP.NET核心
ASP.NET Web組件部分TX Text Control .NET Server for ASP.NET已經(jīng)可以在Visual Studio 2019(> 16.8.0)中構(gòu)建的.NET 5 ASP.NET Core Web應用程序中使用。在.NET Core的早期版本中,沒有包含所需的System.Drawing程序集,并且許可證管理器(LC.EXE)無法工作。.NET 5終于解決了這些懸而未決的問題。
下面的教程展示了如何使用在線編輯器TextControl和ServerTextControl類創(chuàng)建文檔的.NET 5 ASP.NET Core Web應用程序。
創(chuàng)建應用程序
確保您下載了.NET 5 SDK附帶的最新版本的Visual Studio 2019(> 16.8.0)。
	
 
 
 
添加NuGet包
瀏覽 txtextcontrol.web 并安裝最新版本的 TXTextControl.Web 包。
 
 
配置應用程序
打開位于項目根目錄下的Startup.cs文件。在Configure方法中,在該方法的結(jié)尾添加以下代碼。
// 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文件。用下面的代碼替換完整的內(nèi)容。
@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控件添加到視圖和按鈕中,調(diào)用Web API端點來創(chuàng)建PDF文檔。
將ServerTextControl添加到項目中
	
 
重復這一步,從Assembly/bin64文件夾中取出下列程序集。
選擇這些程序集后,用 "確定 "確認關(guān)閉參考管理器。
在 "解決方案資源管理器 "中選擇步驟6中的文件,并將 "復制到輸出目錄 "設(shè)置為 "始終復制"。
在解決方案資源管理器中選擇項目的同時,選擇項目->添加新項目....。選擇文本文件,將文件命名為licenses.licx,并單擊 "添加 "關(guān)閉對話框。
	
 
 
TXTextControl.ServerTextControl, TXTextControl.Server, Culture=neutral, PublicKeyToken=6b83fe9a75cfb638
將 "構(gòu)建動作 "屬性設(shè)置為 "嵌入資源"。
在 "解決方案資源管理器 "中選擇項目,從 "項目主菜單 "中選擇 "編輯項目文件"。找到PropertyGroup條目,用以下代碼替換整個節(jié)點。
<PropertyGroup> <TargetFramework>net5.0</TargetFramework> <EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization> </PropertyGroup>
添加Web API端點
在Models文件夾中創(chuàng)建一個名為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);
}
現(xiàn)在,編譯并啟動應用程序。輸入一些文本,然后點擊 "創(chuàng)建PDF "按鈕來調(diào)用創(chuàng)建的端點。
 
 
關(guān)注慧聚IT微信公眾號 ???,了解產(chǎn)品的最新動態(tài)及最新資訊。
	 
 
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: