原創(chuàng)|使用教程|編輯:王香|2018-06-29 09:59:02.000|閱讀 3947 次
概述:Spire.Doc的簡(jiǎn)單操作以及相關(guān)代碼的部分整理。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Spire.Doc基本操作,你會(huì)了嗎?(文檔管理控件技術(shù)交流:QQ群:767755948)
1. 問(wèn):如何從word文檔中獲取文本?
答:您可以調(diào)用方法method document.GetText()來(lái)執(zhí)行此操作。完整代碼:
Document document = new Document(); document.LoadFromFile(@"..\..\test.docx"); using (StreamWriter sw = File.CreateText("output.txt")) { sw.Write(document.GetText()); }
2. 問(wèn):如何插入具有指定高度和寬度的圖像?
答:您可以設(shè)置DocPicture的屬性高度和寬度來(lái)調(diào)整圖像大小。完整代碼:
Document document = new Document(); document.LoadFromFile("sample.docx", FileFormat.Docx); Image image = Image.FromFile("image.jpg"); //specify the paragraph Paragraph paragraph = document.Sections[0].Paragraphs[2]; DocPicture picture = paragraph.AppendPicture(image); //resize the image picture.Height = picture.Height * 0.8f; picture.Width = picture.Width * 0.8f; document.SaveToFile("result.docx", FileFormat.Docx);
3. 問(wèn):如何對(duì)齊word文檔中的文本?
答:請(qǐng)?jiān)O(shè)置段落的屬性HorizontalAlignment以對(duì)齊文本。完整代碼:
Document document = new Document(); document.LoadFromFile("sample.docx"); //set paragraph1 to align left Paragraph paragraph1 = document.Sections[0].Paragraphs[0]; paragraph1.Format.HorizontalAlignment = HorizontalAlignment.Left; //set paragraph2 to align center Paragraph paragraph2 = document.Sections[0].Paragraphs[1]; paragraph2.Format.HorizontalAlignment = HorizontalAlignment.Center; //set paragraph3 to align right Paragraph paragraph3 = document.Sections[0].Paragraphs[2]; paragraph3.Format.HorizontalAlignment = HorizontalAlignment.Right; document.SaveToFile("result.docx");
4. 問(wèn):如何更改現(xiàn)有書簽上的文字?
答:您可以使用BookmarksNavigator來(lái)查找指定的書簽。然后請(qǐng)調(diào)用ReplaceBookmarkContent方法替換書簽上的文本。完整代碼:
Document document = new Document(); document.LoadFromFile("sample.doc"); BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); bookmarkNavigator.MoveToBookmark("mybookmark"); //replace text on bookmarks bookmarkNavigator.ReplaceBookmarkContent("new context", false); document.SaveToFile("result.doc", FileFormat.Doc);
5. 問(wèn):如何將word轉(zhuǎn)換為html?
答:您可以使用指定的文件格式HTML調(diào)用SaveToFile方法將word文檔轉(zhuǎn)換為html。完整代碼:
Document document = new Document(); document.LoadFromFile("sample.doc"); //save word document as html file document.SaveToFile("result.html", FileFormat.Html); document.Close();
6. 問(wèn):如何將html轉(zhuǎn)換為word文檔?
答:請(qǐng)調(diào)用LoadFromFile方法加載html文件。然后調(diào)用SaveToFile方法將html轉(zhuǎn)換為word文檔。完整代碼:
Document document = new Document(); document.LoadFromFile("sample.html", FileFormat.Html, XHTMLValidationType.None); //save html as word document document.SaveToFile("result.doc"); document.Close();
7. 如何將word2007轉(zhuǎn)換為word2003?
答:只需使用指定的文件格式doc調(diào)用SaveToFile方法即可將word2007轉(zhuǎn)換為word2003。完整代碼:
Document document = new Document("word2007.docx"); //convert word2007 to word2003 document.SaveToFile("word2003.doc", FileFormat.Doc); document.Close();
8. 問(wèn):如何替換和刪除Word文檔中的頁(yè)眉或頁(yè)腳?
答:請(qǐng)使用Section獲取頁(yè)眉或頁(yè)腳。您可以調(diào)用替換方法來(lái)替換標(biāo)題并調(diào)用Clear方法以刪除Word文檔的頁(yè)眉或頁(yè)腳。
Document document = new Document(); Section section = document.AddSection(); //add a header HeaderFooter header = section.HeadersFooters.Header; Paragraph headerParagraph = header.AddParagraph(); TextRange text = headerParagraph.AppendText("Demo of Spire.Doc"); text.CharacterFormat.TextColor = Color.Blue; document.SaveToFile("DocWithHeader.doc"); //replace the header headerParagraph.Replace("Demo", "replaceText", true, true); document.SaveToFile("DocHeaderReplace.doc"); document.LoadFromFile("DocWithHeader.doc"); //delete the heater document.Sections[0].HeadersFooters.Header.Paragraphs.Clear(); document.SaveToFile("DocHeaderDelete.doc");
9. 問(wèn):如何合并word文檔?
答:請(qǐng)調(diào)用克隆方法復(fù)制一節(jié)。然后調(diào)用Add方法將該部分的副本添加到指定的文檔。完整代碼:
Document document1 = new Document(); document1.LoadFromFile("merge1.docx"); Document document2 = new Document(); document2.LoadFromFile("merge2.docx"); //add sections from document1 to document2 foreach (Section sec in document2.Sections) { document1.Sections.Add(sec.Clone()); } document1.SaveToFile("result.docx");
10. 問(wèn):如何遍歷word文檔中表格的單元格?
答:行是表中行的集合,單元是行中單元的集合。所以你可以用兩個(gè)循環(huán)來(lái)遍歷表格的單元格。完整代碼:
Document document = new Document(); document.LoadFromFile("sample.docx"); Spire.Doc.Interface.ITable table = document.Sections[0].Tables[0]; int i=0; //traverse the cells foreach (TableRow row in table.Rows) { foreach (TableCell cell in row.Cells) { i++; } }
11. 問(wèn):如何設(shè)置陰影文字?
答:您只需設(shè)置TextRange的屬性IsShadow即可。完整代碼:
Document document = new Document(); Section section = document.AddSection(); Paragraph paragraph = section.AddParagraph(); TextRange HText = paragraph.AppendText("this is a test!"); //set the property IsShadow HText.CharacterFormat.IsShadow = true; HText.CharacterFormat.FontSize = 80; document.SaveToFile("result.doc");
12. 問(wèn):如何在Word中插入行號(hào)?
答:您需要設(shè)置節(jié)的屬性LineNumberingRestartMode,LineNumberingStep,LineNumberingStartValue以在Word文檔中插入行號(hào)。完整代碼:
Document document = new Document(); Section section = document.AddSection(); //insert line numbers section.PageSetup.LineNumberingRestartMode = LineNumberingRestartMode.RestartPage; section.PageSetup.LineNumberingStep = 1; section.PageSetup.LineNumberingStartValue = 1; Paragraph paragraph = section.AddParagraph(); paragraph.AppendText("As an independent Word .NET component, Spire.Doc for .NET doesn't need Microsoft Word to be installed on the machine. However, it can incorporate Microsoft Word document creation capabilities into any developers .NET applications."); document.SaveToFile("result.doc");
13. 問(wèn):如何使圖像周圍的文字?
答:您需要設(shè)置圖片的屬性TextWrappingStyle和ShapeHorizontalAlignment。完整代碼:
Document document = new Document(); Section section = document.AddSection(); Paragraph paragraph = section.AddParagraph(); string str = "As an independent Word .NET component, Spire.Doc for .NET doesn't need Microsoft Word to be installed on the machine. However, it can incorporate Microsoft Word document creation capabilities into any developers.NET applications.As an independent Word .NET component, Spire.Doc for .NET doesn't need Microsoft Word to be installed on the machine. However, it can incorporate Microsoft Word document creation capabilities into any developers’.NET applications."; paragraph.AppendText(str); DocPicture picture = paragraph.AppendPicture(Image.FromFile("logo.png")); picture.TextWrappingStyle = TextWrappingStyle.Tight; picture.HorizontalAlignment = ShapeHorizontalAlignment.Center; document.SaveToFile("result.doc");
14. 問(wèn):如何編輯Word文檔中的現(xiàn)有表?
答:使用Section獲取表格,您可以編輯單元格中的文本,并且可以將新行插入到表格中。完整代碼:
Document doc = new Document("sample.docx"); Section section = doc.Sections[0]; ITable table = section.Tables[0]; //edit text in a cell TableCell cell1 = table.Rows[1].Cells[1]; Paragraph p1 = cell1.Paragraphs[0]; p1.Text = "abc"; TableCell cell2 = table.Rows[1].Cells[2]; Paragraph p2 = cell2.Paragraphs[0]; p2.Items.Clear(); p2.AppendText("def"); TableCell cell3 = table.Rows[1].Cells[3]; Paragraph p3 = cell3.Paragraphs[0]; (p3.Items[0] as TextRange).Text = "hij"; //insert new row TableRow newRow = table.AddRow(true, true); foreach (TableCell cell in newRow.Cells) { cell.AddParagraph().AppendText("new row"); } doc.SaveToFile("result.doc");
15. 問(wèn):如何設(shè)置超鏈接的格式不帶下劃線?
答:請(qǐng)?jiān)O(shè)置超鏈接字段的textRange節(jié)點(diǎn)來(lái)格式化超鏈接。完整代碼:
Document document = new Document(); Section section = document.AddSection(); Paragraph paragraph = section.AddParagraph(); Field hyperlink = paragraph.AppendHyperlink("www.e-iceblue.com", "www.e-iceblue.com", HyperlinkType.WebLink); TextRange text = hyperlink.NextSibling.NextSibling as TextRange; text.CharacterFormat.Bold = true; text.CharacterFormat.UnderlineStyle = UnderlineStyle.None; document.SaveToFile("result.doc");
16. 問(wèn):如何設(shè)置word文檔只讀?
答:請(qǐng)調(diào)用Protect方法設(shè)置ProtectionType。完整代碼:
Document document = new Document(); document.LoadFromFile("sample.docx"); document.Protect(ProtectionType.AllowOnlyReading); document.SaveToFile("result.doc");
產(chǎn)品介紹 | 下載試用 | | 聯(lián)系Elyn
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn