你知道將DOC格式序列化為位元組數組最簡單方法嗎?來看看Aspose.Words API如何處理

来源:https://www.cnblogs.com/mnrssj-Aspsoe/archive/2019/12/11/12020701.html

Aspose.Words for .Net是一種高級Word文檔處理API,用於執行各種文檔管理和操作任務。API支持生成,修改,轉換,呈現和列印文檔,而無需在跨平臺應用程式中直接使用Microsoft Word。 Aspose.Words API提供了將Microsoft Word文檔從DOC或D ...


Aspose.Words for .Net是一種高級Word文檔處理API,用於執行各種文檔管理和操作任務。API支持生成,修改,轉換,呈現和列印文檔,而無需在跨平臺應用程式中直接使用Microsoft Word。

Aspose.Words API提供了將Microsoft Word文檔從DOC或DOCX格式序列化為位元組數組的最簡單方法。將文檔存儲到資料庫中和/或從資料庫中檢索時,將Word文檔轉換為位元組數組很有幫助。

另外!.NET版Aspose Words轉換升級,支持將PDF轉換為PDF 1.7標準!近日,Aspose Words For .NET更新到了v19.12版,在Windows10上使用SystemFontSource時,支持用戶安裝的字體,OLE對象數據公開給公共API等等9大新功能。(下載地址可在評論區查看)

.NET的Aspose.Words可用於轉換Document對象,以獲取表示任何.NET應用程式中Document的位元組數組。以下代碼段演示了DOC文件到位元組數組的轉換。

// Load the document from disk.
Document doc = new Document("Sample.doc");

// Create a new memory stream.
MemoryStream outStream = new MemoryStream();
// Save the document to stream.
doc.Save(outStream, SaveFormat.Docx);

// Convert the document to byte form.
byte[] docBytes = outStream.ToArray();

// The bytes are now ready to be stored/transmitted.

// Now reverse the steps to load the bytes back into a document object.
MemoryStream inStream = new MemoryStream(docBytes);

// Load the stream into a new document object.
Document loadDoc = new Document(inStream);
// Save the document.
loadDoc.Save("loadDoc.docx",SaveFormat.Docx);

以下代碼段演示瞭如何使用Aspose.Words for Java API 將DOC文件轉換為位元組數組。

// Load the document.
Document doc = new Document("Sample.doc");

// Create a new memory stream.
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
// Save the document to stream.
doc.save(outStream, SaveFormat.DOCX);

// Convert the document to byte form.
byte[] docBytes = outStream.toByteArray();

// The bytes are now ready to be stored/transmitted.

// Now reverse the steps to load the bytes back into a document object.
ByteArrayInputStream inStream = new ByteArrayInputStream(docBytes);

// Load the stream into a new document object.
Document loadDoc = new Document(inStream);
// Save the document.
loadDoc.Save("loadDoc.docx",SaveFormat.Docx);

如果您有任何疑問或需求,請隨時加入Aspose技術交流群(642018183),很高興為您提供查詢和咨詢。


您的分享是我們最大的動力!

更多相關文章
  • 如何運用DDD 領域服務 [toc] 概述 本文將介紹領域驅動設計(DDD)戰術模式中另一個非常重要的概念 領域服務。在前面兩篇博文中,我們已經學習到了什麼是值對象和實體,並且能夠比較清晰的定位它們自身的行為。但是在某些時候,你會發現某一些業務行為好像不容易落到單個實體或者值對象身上,並且會為放置這 ...
  • https://maplemei.gitee.io/xm-select/#/basic/create layer ui ...
  • .net 平臺中,配置文件有web.config和app.config兩種,前者是web站點的配置文件,後面是WinForm應用的配置文件,基本庫對這兩種配置文件的讀取提供很好支持。 但對文件本身的修改支持的不是太好,最近這段時間準備做.net應用的自動發佈工具,在版本發佈時,需要進行配置文件的自動 ...
  • 原文:https://blogs.msdn.microsoft.com/mazhou/2017/11/21/c-7-series-part-6-read-only-structs/ 背景 在.NET世界中,有兩種基本類型:引用類型和值類型。簡單地說,引用類型是可以繼承/擴展的類,當傳遞引用類型對象時 ...
  • 場景 效果 註: 博客主頁: https://blog.csdn.net/badao_liumang_qizhi 關註公眾號 霸道的程式猿 獲取編程相關電子書、教程推送與免費下載。 實現 新建一個Form,設置窗體的背景顏色為黑色,然後再拖拽一個LIstBox用來存取要滾動的內容,再拖拽一個Time ...
  • EF提供了三種方式來實現項目,分別是: (1)代碼優先方法: (2)模型優先方法: (3)資料庫優先方法: 本篇主要記錄在Vs2010環境下使用代碼優先的方式實現資料庫和後端代碼數據交互,語言為C#,資料庫為sqlserver 2008。 1.在sqlserver中創建資料庫 "StudentDB" ...
  • var grpBalance = listBalance.GroupBy(m => new { m.MerChantId, m.Name}).Distinct().Select(t => new balInfo { MerChantId = t.Key.MerChantId, Name = t.Ke ...
  • DefaultValue,顧名思義,預設值的意思。但這個預設值不是用來顯示的,它的作用是當屬性設置的值(無法代碼寫還是屬性視窗輸入)與DefaultValue相同時,會區別顯示,比如其它值加粗,DefaultValue不加粗。 DefaultValue可以勉強理解為密碼或者暗號,雖然看不到,但值對了 ...
一周排行
  • C#實現(Delegate)的委托就不多說了,直接上代碼,看代碼中的註釋: namespace Delegate { delegate void DGSayiHi(string name);//聲明委托 delegate void DGDo(string name); class Program { ...
  • C#實現的從小到大的冒泡排序: public void BubbleSort(int[] array) { int length = array.Length; for (int i = 0; i < length - 1; i++) { for (int j = length - 1; j > i ...
  • string aa = DateTime.Now.ToShortDateString();//"2019/9/23" string bb = DateTime.Now.ToShortTimeString();//"上午 10:21" string ff = DateTime.Now.ToLongDa ...
  • 1. 什麼是,以及怎麼用畫中畫 Windows 10 Creators Update以後UWP提供了一個新的視圖模式CompactOverlay,中文翻譯成 緊湊的覆蓋層 ?反正大部分時間我們都會稱它為 畫中畫模式 。 上圖中右上角即為進入畫中畫模式的微軟“電影和電視”應用。 可以調用 "Appli ...
  • C#實現的對兩個Table進行Merge,兩表必須存在至少一個公共欄位作為連接項,否則連接就失去了意義。如下是對兩個table進行Merge的詳細代碼: private void button1_Click(object sender, EventArgs e)//Button點擊觸發事件 { #r ...
  • 在很多時候,我們做一些非常規化的界面的時候,往往需要創建一些用戶控制項,在其中繪製好一些基礎的界面塊,作為後續重覆使用的一個單元,用戶控制項同時也可以封裝處理一些簡單的邏輯。在開發Winform各種類型項目,我都時不時需要定製一些特殊的用戶控制項,以方便在界面模塊中反覆使用。我們一般是在自定義的用戶控制項里... ...
  • 第一部分:面向對象 封裝 繼承(里氏轉換) 多態第二部分:值類型、引用類型、字元串操作第三部分:集合文件操作第四部分:正則表達式第五部分:XML操作第六部分:委托、事件第七部分:反射。 //存儲著我們當前正在運行的進程//Process[] pro = Process.GetProcesses(); ...
  • 程式處理存放圖片的幾種方式 我的理解有4個: 1:放在項目本身得文件夾中,直接部署到伺服器上 2:存放在磁碟中,然後資料庫中存放路徑,讀取得時候傳路徑。這個適合小項目 3:將圖片轉換成二進位文件,但是不建議這樣做,因為會給資料庫造成壓力。 4:存放在雲存儲器上,也是在資料庫上存地址,不過是雲地址,使 ...
  • 什麼是AutoMapper?AutoMapper是一個簡單的小型庫,用於解決一個看似複雜的問題 - 擺脫將一個對象映射到另一個對象的代碼。這種類型的代碼是相當沉悶和無聊的寫,所以為什麼不發明一個工具來為我們做? 我們來看看在.netcore3.1中怎樣使用AutoMapper9.0。 Profile ...
  • Teigha中實體旋轉 代碼: using (var trans = database.TransactionManager.StartTransaction()) { Entity ent = trans.GetObject(entityId, OpenMode.ForWrite) asEntit ...
x