文档半岛外围网上直营>>E-iceblue中文文档>>防止Word 出现分页符
防止Word 出现分页符
我们经常在页面底部附近开始一个表格。如果单行或多行太长而无法容纳在页面的上边距和下边距之间,Microsoft Word 会自动在表格中放置分页符。因此,我们宁愿将同一行放在一页上,或者将整个表格放在下一页上,而不是分成两页。在本文中,我将向您介绍两种通过 Spire.Doc 避免 Word 表格中出现分页符的方法。
假设我们有一个这样的 Word 表格(第 2 行拆分到不同的页面),我们可能希望通过以下两种方法来优化布局。
技术交流Q群(767755948)
方法1:将整个表格保持在同一页面上。
第 1 步:创建一个新的 Word 文档并加载测试文件。
Document doc = new Document("Test.docx");
第 2 步:从 Word 文档中获取表格。
Table table = doc.Sections[0].Tables[0] as Table;
第 3 步:更改段落设置以使它们保持在一起。
foreach (TableRow row in table.Rows)
{
foreach (TableCell cell in row.Cells)
{
foreach (Paragraph p in cell.Paragraphs)
{
p.Format.KeepFollow = true;
}
}
}
第 4 步:保存并启动文件。
doc.SaveToFile("Result.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("Result.docx");
输出:
方法 2: 防止 Word 在两页之间断开表格行。
仍然存在表格不够小到不能放在一页上的情况,您可以防止 Word 破坏包含跨两页的多个段落的表格行。在这个例子中,第二行已经被分成不同的页面,我们可以用下面的语句设置TableFormat的属性来避免这个问题。
table.TableFormat.IsBreakAcrossPages = false;用这句话代替第三步,你会得到如下布局:
完整的 C# 代码:
方法一
using Spire.Doc;
using Spire.Doc.Documents;
namespace PreventPageBreak
{
class Program
{
static void Main(string[] args)
{
Document doc = new Document("Test.docx");
Table table = doc.Sections[0].Tables[0] as Table;
foreach (TableRow row in table.Rows)
{
foreach (TableCell cell in row.Cells)
{
foreach (Paragraph p in cell.Paragraphs)
{
p.Format.KeepFollow = true;
}
}
}
doc.SaveToFile("Result.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("Result.docx");
}
}
}
方法二
using Spire.Doc;
using Spire.Doc.Documents;
namespace PreventPageBreak
{
class Program
{
static void Main(string[] args)
{
Document doc = new Document("Test.docx");
Table table = doc.Sections[0].Tables[0] as Table;
table.TableFormat.IsBreakAcrossPages = false;
doc.SaveToFile("Result.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("Result.docx");
}
}
}

QQ交谈
在线咨询

渝公网安备
50010702500608号

客服热线