为方便使用者快速掌握和了解Spire.Doc,本文列举了Word处理控件Spire.Doc常见问题及解答欢迎下载最新版体验!
如何从word文档中获取文本?
A:您可以调用方法方法 document.GetText() 来执行此操作。完整代码:
Document document = new Document();
document.LoadFromFile(@"..\..\test.docx");
using (StreamWriter sw = File.CreateText("output.txt"))
{
sw.Write(document.GetText());
}
如何插入具有指定高度和宽度的图像?
A : 您可以设置 DocPicture 的属性 height 和 width 来调整图像的大小。完整代码:
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);
如何对齐word文档中的文字?
A : 请设置段落的属性 HorizontalAlignment 来对齐文本。完整代码:
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");
如何更改现有书签上的文本?
A : 您可以使用 BookmarksNavigator 来定位指定的书签。然后请调用方法 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);
怎么把word转成html?
A : 你可以调用 SaveToFile 方法指定文件格式 HTML 来将 word 文档转换为 html。完整代码:
Document document = new Document();
document.LoadFromFile("sample.doc");
//save word document as html file
document.SaveToFile("result.html", FileFormat.Html);
document.Close();
如何将html转换为word文档?
A : 请调用 LoadFromFile 方法加载 html 文件。然后调用方法 SaveToFile 将 html 转换为 word 文档。完整代码:
Document document = new Document();
document.LoadFromFile("sample.html", FileFormat.Html, XHTMLValidationType.None);
//save html as word document
document.SaveToFile("result.doc");
document.Close();
如何将word2007转换为word2003?
A : 只需调用方法 SaveToFile 指定文件格式 doc 将 word2007 转换为 word2003。完整代码:
Document document = new Document("word2007.docx");
//convert word2007 to word2003
document.SaveToFile("word2003.doc", FileFormat.Doc);
document.Close();
如何替换和删除word文档中的页眉或页脚?
A : 请使用 Section 获取页眉或页脚。您可以调用方法 Replace 替换页眉,调用方法 Clear 删除 word 文档的页眉或页脚。
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");
如何合并word文档?
A : 请调用方法 Clone 复制一个部分。然后调用方法 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");
如何浏览word文档中表格的单元格?
A : Rows 是表中行的集合,而 Cells 是行中单元格的集合。因此,您可以使用两个循环浏览表格的单元格。完整代码:
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++;
}
}
如何设置带阴影的文本?
A : 你只需要设置 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");
如何在Word中插入行号?
A : 你需要设置节的属性 LineNumberingRestartMode, LineNumberingStep, LineNumberingStartValue 来在word文档中插入行号。完整代码:
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");
如何在图像周围制作文字?
A:需要设置图片的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");
如何在word文档中编辑现有表格?
A:使用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)
{
如何设置不带下划线的超链接格式?
A : 请设置超链接字段的 textRange 节点为超链接格式。完整代码:
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");
如何将word文档设置为只读?
A : 请调用 Protect 方法设置 ProtectionType。完整代码:
Document document = new Document();
document.LoadFromFile("sample.docx");
document.Protect(ProtectionType.AllowOnlyReading);
document.SaveToFile("result.doc");