說明
為坡頭等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及坡頭網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、做網(wǎng)站、坡頭網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
為了消除于原生交互操作庫對Microsoft Word軟件依賴性,我們已經(jīng)改變了進(jìn)程。我們用Aspose庫在內(nèi)存中管理所有進(jìn)程并更有效地管理文檔有兩個目的:
避免為了自動化而在一個服務(wù)器上安裝Microsoft Word。
直接在代碼中的庫有更好的性能。
同時,Aspose有完整的Microsoft Ofiice庫,并且對于為我們的網(wǎng)絡(luò)應(yīng)用程序添加彈性和功能性非常有用。你的mileage將依據(jù)處理有關(guān)整合它們的庫的文檔的方式而發(fā)生變化,但它們是功能完整的,并且該文檔是提供的產(chǎn)品中不可分割的一部分。
使用代碼
(1)設(shè)置許可證
Aspose組件需要你加載許可證到庫,以解鎖它的真正功能。
你可以在它們的網(wǎng)站上申請臨時許可證(通過創(chuàng)建引用你感興趣的組件,表明你感興趣的組件,在引用的最后階段,該選項(xiàng)將變?yōu)榭捎茫?/p>
Dim License As New Aspose.Words.License() Try License.SetLicense("Aspose.Words.lic") Catch ' Make sure to trap and record any licensing issues here End Try
添加許可證到你的庫作為靜態(tài)資源,不然它會駐留在和應(yīng)用程序相同的文件夾。
(2)處理你的文檔
現(xiàn)在是你的設(shè)計(jì)容易出偏差的時候,我們用隱藏的書簽來控制動態(tài)節(jié)(里和外), 如果你用其它方式,你將需要深度挖掘庫的功能。
兩個主要的類將在大部分處理過程中被使用:Aspose.Word.WordDocument 和 Aspose.Word.WordDocumentBuilder。
Dim oWordFile As System.IO.MemoryStream Dim oWordDocument As Aspose.Words.Document Dim oWordDocumentBuilder As Aspose.Words.DocumentBuilder ' oDocument represents an external resource extracted from a database oWordFile = New System.IO.MemoryStream(oDocument.Content, True) oWordDocument = New Aspose.Words.Document(oWordFile) oWordDocumentBuilder = New Aspose.Words.DocumentBuilder(oWordDocument) ' Clean up, passed this point the MemoryStream is no longer required oWordFile.Dispose() oWordFile = Nothing
現(xiàn)在有了這項(xiàng)設(shè)置,你就已經(jīng)準(zhǔn)備好鋪開你的代碼來利用文檔。Aspose.Word.NET對象層管理文檔(如XML文檔),無論它是遺留的(RTF,DDC1997/2003等)還是新的格式(DOCX,DOCM等),為了正確地修改或利用現(xiàn)有的數(shù)據(jù),你都需要穿過對象節(jié)點(diǎn)樹。
(3)書簽管理上的幾個例子和注意點(diǎn)
' Retrieve data Dim sValue As String = oWordDocument.Range.Bookmarks(sBookmarkName).Text ' Change data sValue = “Test” oWordDocument.Range.Bookmarks(sBookmarkName).Text = sValue
這包括操縱現(xiàn)有的書簽。
創(chuàng)建書簽本身就很簡單,你將需要新增兩個子節(jié)點(diǎn)到文檔架構(gòu)中:
Dim oBookmarkStart As New Aspose.Words.BookmarkStart(oWordDocument, sNewName) Dim oBookmarkEnd As New Aspose.Words.BookmarkEnd(oWordDocument, sNewName) ' oNodeStart and oNodeEnd represent content nodes already identified to become the ' boundaries of the new bookmark oNodeStart.AppendChild(oBookmarkStart) oNodeEnd.AppendChild(oBookmarkEnd)
識別書簽邊界的方式將依據(jù)你管理文檔的方式而變化,如果你是在構(gòu)建文檔,你將只需要簡單地添加它到文檔內(nèi)容中;如果你是用先前存在的模板,則需要更復(fù)雜的解決方案來管理書簽。
唯一一個你需要當(dāng)心的點(diǎn)是當(dāng)克隆一個節(jié)點(diǎn)(文檔中的任意成分都是節(jié)點(diǎn)并且也能被克隆為它自己的樹)時,要注意克隆的書簽仍然保持著它們的原始名稱,你必須為其重命名,否則將發(fā)生異常。
通過捕捉上述兩種節(jié)點(diǎn)來相應(yīng)地改變書簽名稱
(4)保存你的修改
雖然這些實(shí)例都很基礎(chǔ),它們包含I/O使用書簽,你將需要做的是使用適當(dāng)?shù)腦SaveOptions類保存文檔。請注意,使用提供的其他保存方式(由文件擴(kuò)展名來檢測)可能是錯誤的。
在此說明PDF保存事項(xiàng):
' The options are up to you, this setup is for lighter files oPDFOptions = New Aspose.Words.Saving.PdfSaveOptions() oPDFOptions.EmbedFullFonts = False oPDFOptions.ExportCustomPropertiesAsMetadata = False oPDFOptions.FontEmbeddingMode = Aspose.Words.Saving.PdfFontEmbeddingMode.EmbedNone ' For Left to Right text support (Arabic, Hebrew, etc…) oWordDocument.FieldOptions.IsBidiTextSupportedOnUpdate = False ' oNewMemoryStream being the target for the push oWordDocument.Save(oNewMemoryStream, oPDFOptions)
注意點(diǎn)
從性能上看,不需要舉例說明文檔來自一個硬盤驅(qū)動綁定文件已經(jīng)是一個很大的改進(jìn),不需要依靠Microsoft Office添加更多,但處理本身顯示相對于原生.NET交互操作庫有6:1的增益。
另一個注意點(diǎn)是關(guān)于組件的性能,清理是繁瑣的,因此應(yīng)該孤立到非關(guān)鍵路徑。
對象提取層也大大簡化了代碼需要操縱的文檔本身,不包括同樣的的quirks出現(xiàn)在文檔最終結(jié)構(gòu)中,其復(fù)雜性是由庫本身所決定的。
網(wǎng)站名稱:關(guān)于Aspose.NET使用的幾點(diǎn)注意事項(xiàng)
當(dāng)前網(wǎng)址:http://jinyejixie.com/article10/ggsddo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、手機(jī)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、網(wǎng)站策劃、微信公眾號、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)