.NET实现在Word指定页码之间插入另一个Word
生活随笔
收集整理的這篇文章主要介紹了
.NET实现在Word指定页码之间插入另一个Word
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Word合并的功能是有的,不過多數都是直接追加,即不需要去專門找位置。
而即便可以找位置了,合并功能沒有提供指定位置插入的功能,那么也是白搭。
只能想方設法,讓文檔先在指定位置分為兩個文檔,然后在進行三個文檔的合并。
舉例如下:目前有A文檔,現在需要在A文檔的第2頁插入B文檔。
那么可以這么搞:
先把A文檔根據頁面2分為2個文檔A1、A2,
然后A1合并B形成B1,B1再合并A2,形成B2即最終文檔。
思路暫時有了,可是怎么實現呢?
AsPose.Words雖說很厲害的樣子,但是度娘告訴我,它是沒有明確的頁面對象的,都是以內容Node節點為對象。
可是我不死心,繼續各種換關鍵字找啊找,找到一個類似的,想想看是啥,又可以怎么啟發我?
附文檔鏈接:ASPOSE轉換問題_已解決_博問_博客園 (cnblogs.com)?
人家是要將Word每頁轉換為一個圖片,這里不就可以按頁碼處理了嗎?
那我也就先Save(根據頁面來),不過不支持DocSaveOption頁面格式。
還好可以支持Pdf保存的,那就先保存為PDF,再轉換回Word好了,總歸是個思路吧。
Aspose.Words.Saving.PdfSaveOptions pdfSaveOptions = new Aspose.Words.Saving.PdfSaveOptions(); pdfSaveOptions.PageIndex = 1; pdfSaveOptions.PageCount = 1; doc.Save("A1.doc", pdfSaveOptions);對于A2.doc,類似的處理,處理好頁面范圍即可。
然后再把Pdf轉為Word
//打開源PDF文檔 Document pdfDocument = new Document(dataDir + "PDFToDOC.pdf");//將文件保存為MS文檔格式 pdfDocument.Save(dataDir + "PDFToDOC_out.doc", SaveFormat.Doc);接下來就是合并了。
Document dstDoc = new Document(gDataDir + "TestFile.Destination.doc"); Document srcDoc = new Document(gDataDir + "TestFile.Source.doc");// Set the appended document to start on a new page. srcDoc.FirstSection.PageSetup.SectionStart = SectionStart.NewPage;// Append the source document using the original styles found in the source document. dstDoc.AppendDocument(srcDoc, ImportFormatMode.KeepSourceFormatting); dstDoc.Save(gDataDir + "TestFile.JoinNewPage Out.doc");思路基本就這樣了。
總結
以上是生活随笔為你收集整理的.NET实现在Word指定页码之间插入另一个Word的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言实现通讯录初版
- 下一篇: Aspose word pdf 相互转换