Układ W Komórce

W tym samouczku wyjaśniono, jak rozmieścić kształt w komórce tabeli w dokumencie programu Word przy użyciu Aspose.Words dla .NET. Dostosowując właściwości kształtu i korzystając z opcji układu, możesz kontrolować położenie i wygląd kształtu w komórce.

Warunki wstępne

Aby skorzystać z tego samouczka, musisz mieć następujące elementy:

  • Zainstalowana biblioteka Aspose.Words dla .NET.
  • Podstawowa znajomość języka C# i przetwarzania tekstów w dokumentach Word.

Krok 1: Skonfiguruj katalog dokumentów

Zacznij od ustawienia ścieżki do katalogu dokumentów. Zastępować"YOUR DOCUMENT DIRECTORY" z rzeczywistą ścieżką do katalogu, w którym chcesz zapisać dokument.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Krok 2: Utwórz nowy dokument i narzędzie DocumentBuider

Utwórz nową instancjęDocument klasa i ADocumentBuilder sprzeciwić się pracy z dokumentem.

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

Krok 3: Zbuduj stół

UżyjStartTable, EndTable, InsertCell , IWrite metodyDocumentBuilder obiekt do zbudowania stołu. Ustaw żądaną wysokość wiersza i regułę wysokości za pomocąRowFormat nieruchomości.

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();

Krok 4: Utwórz i sformatuj kształt

StwórzShape obiekt i skonfiguruj jego właściwości, aby zdefiniować znak wodny. Ustaw kształt, który ma być ułożony w komórce za pomocąIsLayoutInCell nieruchomość.

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
};

Krok 5: Dostosuj kształt

Dostosuj wygląd i tekst kształtu znaku wodnego, ustawiając właściwości, takie jakFillColor, StrokeColor, TextPath, Name, WrapTypeitp.

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;

Krok 6: Wstaw kształt do dokumentu

Wstaw kształt znaku wodnego do dokumentu za pomocąInsertNode metodaDocumentBuilder obiekt. Ustaw kształt za pomocąMoveTo metodę umieszczenia go po ostatnim uruchomieniu w dokumencie.

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

Krok 7: Zapisz dokument

Zapisz dokument w określonym katalogu za pomocąSave metoda. Podaj żądaną nazwę pliku z odpowiednim rozszerzeniem. W tym przykładzie zapisujemy dokument jako „WorkingWithShapes.LayoutInCell.docx”.

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

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

Przykładowy kod źródłowy dla układu w komórce przy użyciu Aspose.Words dla .NET

	// Ścieżka do katalogu dokumentów
	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, // Wyświetl kształt poza komórką tabeli, jeśli zostanie on umieszczony w komórce.
		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");

Otóż to! Pomyślnie ułożyłeś kształt w komórce tabeli w dokumencie programu Word przy użyciu Aspose.Words dla .NET.