您好,登錄后才能下訂單哦!
說明
為了消除于原生交互操作庫對Microsoft Word軟件依賴性,我們已經改變了進程。我們用Aspose庫在內存中管理所有進程并更有效地管理文檔有兩個目的:
避免為了自動化而在一個服務器上安裝Microsoft Word。
直接在代碼中的庫有更好的性能。
同時,Aspose有完整的Microsoft Ofiice庫,并且對于為我們的網絡應用程序添加彈性和功能性非常有用。你的mileage將依據處理有關整合它們的庫的文檔的方式而發生變化,但它們是功能完整的,并且該文檔是提供的產品中不可分割的一部分。
使用代碼
(1)設置許可證
Aspose組件需要你加載許可證到庫,以解鎖它的真正功能。
你可以在它們的網站上申請臨時許可證(通過創建引用你感興趣的組件,表明你感興趣的組件,在引用的最后階段,該選項將變為可用)
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
添加許可證到你的庫作為靜態資源,不然它會駐留在和應用程序相同的文件夾。
(2)處理你的文檔
現在是你的設計容易出偏差的時候,我們用隱藏的書簽來控制動態節(里和外), 如果你用其它方式,你將需要深度挖掘庫的功能。
兩個主要的類將在大部分處理過程中被使用: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
現在有了這項設置,你就已經準備好鋪開你的代碼來利用文檔。Aspose.Word.NET對象層管理文檔(如XML文檔),無論它是遺留的(RTF,DDC1997/2003等)還是新的格式(DOCX,DOCM等),為了正確地修改或利用現有的數據,你都需要穿過對象節點樹。
(3)書簽管理上的幾個例子和注意點
' Retrieve data Dim sValue As String = oWordDocument.Range.Bookmarks(sBookmarkName).Text ' Change data sValue = “Test” oWordDocument.Range.Bookmarks(sBookmarkName).Text = sValue
這包括操縱現有的書簽。
創建書簽本身就很簡單,你將需要新增兩個子節點到文檔架構中:
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)
識別書簽邊界的方式將依據你管理文檔的方式而變化,如果你是在構建文檔,你將只需要簡單地添加它到文檔內容中;如果你是用先前存在的模板,則需要更復雜的解決方案來管理書簽。
唯一一個你需要當心的點是當克隆一個節點(文檔中的任意成分都是節點并且也能被克隆為它自己的樹)時,要注意克隆的書簽仍然保持著它們的原始名稱,你必須為其重命名,否則將發生異常。
通過捕捉上述兩種節點來相應地改變書簽名稱
(4)保存你的修改
雖然這些實例都很基礎,它們包含I/O使用書簽,你將需要做的是使用適當的XSaveOptions類保存文檔。請注意,使用提供的其他保存方式(由文件擴展名來檢測)可能是錯誤的。
在此說明PDF保存事項:
' 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)
注意點
從性能上看,不需要舉例說明文檔來自一個硬盤驅動綁定文件已經是一個很大的改進,不需要依靠Microsoft Office添加更多,但處理本身顯示相對于原生.NET交互操作庫有6:1的增益。
另一個注意點是關于組件的性能,清理是繁瑣的,因此應該孤立到非關鍵路徑。
對象提取層也大大簡化了代碼需要操縱的文檔本身,不包括同樣的的quirks出現在文檔最終結構中,其復雜性是由庫本身所決定的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。