單元格佈局

本教學介紹如何使用 Aspose.Words for .NET 在 Word 文件的表格單元格內佈局形狀。透過調整形狀屬性並使用佈局選項,您可以控制儲存格內形狀的位置和外觀。

先決條件

要學習本教程,您需要具備以下條件:

  • 已安裝 Aspose.Words for .NET 程式庫。
  • C# 和 Word 文件文字處理的基礎知識。

第 1 步:設定文檔目錄

首先設定文檔目錄的路徑。代替"YOUR DOCUMENT DIRECTORY"與要儲存文件的目錄的實際路徑。

string dataDir = "YOUR DOCUMENT DIRECTORY";

第 2 步:建立新文件和 DocumentBuilder

建立一個新實例Document類別和一個DocumentBuilder物件使用該文件。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

第 3 步:建立表格

使用StartTable, EndTable, InsertCell, 和Write的方法DocumentBuilder物件來建構一個表。使用以下命令設定所需的行高和高度規則RowFormat特性。

builder.StartTable();
builder.RowFormat.Height = 100;
builder.RowFormat.HeightRule = HeightRule.Exactly;
for (int i = 0; i < 31; i++)
{
    if (i != 0 && i % 7 == 0) builder.EndRow();
    builder.InsertCell();
    builder.Write("Cell contents");
}
builder.EndTable();

第 4 步:建立形狀並設定其格式

創建一個Shape物件並配置其屬性來定義浮水印。使用以下命令設定要在儲存格內佈局的形狀IsLayoutInCell財產。

Shape watermark = new Shape(doc, ShapeType.TextPlainText)
{
    RelativeHorizontalPosition = RelativeHorizontalPosition.Page,
    RelativeVerticalPosition = RelativeVerticalPosition.Page,
    IsLayoutInCell = true,
    Width = 300,
    Height = 70,
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Center,
    Rotation = -40
};

第 5 步:自訂形狀

透過設定以下屬性來自訂浮水印形狀的外觀和文字FillColor, StrokeColor, TextPath, Name, WrapType, ETC。

watermark.FillColor = Color.Gray;
watermark.StrokeColor = Color.Gray;
watermark.TextPath.Text = "watermarkText";
watermark.TextPath.FontFamily = "Arial";
watermark.Name = $"WaterMark_{Guid.NewGuid()}";
watermark.WrapType = WrapType.None;

第 6 步:將形狀插入文件中

使用以下命令將浮水印形狀插入到文件中InsertNode的方法DocumentBuilder目的。使用定位形狀MoveTo方法將其放置在文件中上次運行之後。

Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
builder.MoveTo(run);
builder.InsertNode(watermark);

步驟7:儲存文檔

使用以下命令將文件儲存到指定目錄Save方法。提供所需的檔案名稱和適當的檔案副檔名。在此範例中,我們將文件儲存為「WorkingWithShapes.LayoutInCell.docx」。

doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
doc

.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");

使用 Aspose.Words for .NET 在單元格中佈局的範例原始程式碼

	//文檔目錄的路徑
	string dataDir = "YOUR DOCUMENT DIRECTORY";

	Document doc = new Document();
	DocumentBuilder builder = new DocumentBuilder(doc);
	builder.StartTable();
	builder.RowFormat.Height = 100;
	builder.RowFormat.HeightRule = HeightRule.Exactly;
	for (int i = 0; i < 31; i++)
	{
		if (i != 0 && i % 7 == 0) builder.EndRow();
		builder.InsertCell();
		builder.Write("Cell contents");
	}
	builder.EndTable();
	Shape watermark = new Shape(doc, ShapeType.TextPlainText)
	{
		RelativeHorizontalPosition = RelativeHorizontalPosition.Page,
		RelativeVerticalPosition = RelativeVerticalPosition.Page,
		IsLayoutInCell = true, //如果將形狀放入儲存格中,則顯示表格儲存格外部的形狀。
		Width = 300,
		Height = 70,
		HorizontalAlignment = HorizontalAlignment.Center,
		VerticalAlignment = VerticalAlignment.Center,
		Rotation = -40
	};
	watermark.FillColor = Color.Gray;
	watermark.StrokeColor = Color.Gray;
	watermark.TextPath.Text = "watermarkText";
	watermark.TextPath.FontFamily = "Arial";
	watermark.Name = $"WaterMark_{Guid.NewGuid()}";
	watermark.WrapType = WrapType.None;
	Run run = doc.GetChildNodes(NodeType.Run, true)[doc.GetChildNodes(NodeType.Run, true).Count - 1] as Run;
	builder.MoveTo(run);
	builder.InsertNode(watermark);
	doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
	doc.Save(dataDir + "WorkingWithShapes.LayoutInCell.docx");

就是這樣!您已使用 Aspose.Words for .NET 在 Word 文件的表格單元格內成功佈置了形狀。