เค้าโครงในเซลล์

บทช่วยสอนนี้จะอธิบายวิธีจัดวางรูปร่างภายในเซลล์ตารางในเอกสาร Word โดยใช้ Aspose.Words สำหรับ .NET ด้วยการปรับคุณสมบัติรูปร่างและใช้ตัวเลือกเค้าโครง คุณสามารถควบคุมตำแหน่งและลักษณะของรูปร่างภายในเซลล์ได้

ข้อกำหนดเบื้องต้น

หากต้องการติดตามบทช่วยสอนนี้ คุณจะต้องมีสิ่งต่อไปนี้:

  • ติดตั้ง Aspose.Words สำหรับไลบรารี .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ฯลฯ

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 สำหรับ .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");

แค่นั้นแหละ! คุณได้วางรูปร่างภายในเซลล์ตารางในเอกสาร Word เรียบร้อยแล้วโดยใช้ Aspose.Words สำหรับ .NET