แทรกตัวแบ่งหน้าในไฟล์ PDF

ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีแทรกตัวแบ่งหน้าในไฟล์ PDF โดยใช้ Aspose.PDF สำหรับ .NET เราจะอธิบายโค้ดต้นฉบับใน C# ทีละขั้นตอน เมื่อจบบทช่วยสอนนี้ คุณจะทราบวิธีเพิ่มตัวแบ่งหน้าหลังบรรทัดจำนวนหนึ่งบนตารางของเอกสาร PDF มาเริ่มกันเลย!

ขั้นตอนที่ 1: การตั้งค่าสภาพแวดล้อม

ตรวจสอบให้แน่ใจว่าคุณได้กำหนดค่าสภาพแวดล้อมการพัฒนา C# ด้วย Aspose.PDF สำหรับ .NET แล้ว เพิ่มการอ้างอิงไปยังไลบรารีและนำเข้าเนมสเปซที่จำเป็น

ขั้นตอนที่ 2: การสร้างเอกสารและตาราง

เราสร้างอินสแตนซ์เอกสารใหม่และเพิ่มหน้าลงในเอกสารนี้ จากนั้นเราสร้างอินสแตนซ์ตารางเพื่อแสดงตารางในเอกสาร PDF นอกจากนี้ เรายังกำหนดรูปแบบเส้นขอบสำหรับตารางอีกด้วย

Document doc = new Document();
doc.Pages.Add();

Aspose.Pdf.Table tab = new Aspose.Pdf.Table();
tab.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Red);
tab.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Red);
tab. ColumnWidths = "100 100";

ขั้นตอนที่ 3: เพิ่มแถวลงในตาราง

เราใช้ลูปเพื่อเพิ่ม 200 แถวลงในอาร์เรย์ สำหรับแต่ละแถว เราสร้างอินสแตนซ์ของ Row และเพิ่มเซลล์สองเซลล์ที่มีเนื้อหาเป็นข้อความ

for (int counter = 0; counter <= 200; counter++)
{
     Aspose.Pdf.Row row = new Aspose.Pdf.Row();
     tab. Rows. Add(row);
    
     Aspose.Pdf.Cell cell1 = new Aspose.Pdf.Cell();
     cell1.Paragraphs.Add(new TextFragment("Cell " + counter + ", 0"));
     row. Cells. Add(cell1);
    
     Aspose.Pdf.Cell cell2 = new Aspose.Pdf.Cell();
     cell2.Paragraphs.Add(new TextFragment("Cell " + counter + ", 1"));
     row. Cells. Add(cell2);
    
     // เมื่อเพิ่ม 10 บรรทัด เราจะแทรกตัวแบ่งหน้าใหม่
     if (counter % 10 == 0 && counter != 0)
         row. IsInNewPage = true;
}

ขั้นตอนที่ 4: การเพิ่มตารางลงในเอกสาร

เราเพิ่มตารางลงในคอลเล็กชั่นย่อหน้าของหน้าเอกสาร

doc.Pages[1].Paragraphs.Add(tab);

ขั้นตอนที่ 5: บันทึกเอกสาร

เราบันทึกเอกสาร PDF โดยแทรกตัวแบ่งหน้าไว้

doc.Save(dataDir + "InsertPageBreak_out.pdf");

ตัวอย่างโค้ดต้นฉบับสำหรับการแทรกตัวแบ่งหน้าโดยใช้ Aspose.PDF สำหรับ .NET

// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENT DIRECTORY";

// สร้างอินสแตนซ์เอกสาร
Document doc = new Document();
// เพิ่มหน้าเข้าไปยังคอลเลคชันไฟล์ PDF
doc.Pages.Add();
// สร้างอินสแตนซ์ตาราง
Aspose.Pdf.Table tab = new Aspose.Pdf.Table();
// ตั้งค่ารูปแบบขอบสำหรับตาราง
tab.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Red);
// ตั้งค่ารูปแบบเส้นขอบเริ่มต้นสำหรับตารางโดยมีสีเส้นขอบเป็นสีแดง
tab.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Red);
// ระบุความกว้างของคอลัมน์ตาราง
tab.ColumnWidths = "100 100";
// สร้างลูปเพื่อเพิ่ม 200 แถวให้กับตาราง
for (int counter = 0; counter <= 200; counter++)
{
	Aspose.Pdf.Row row = new Aspose.Pdf.Row();
	tab.Rows.Add(row);
	Aspose.Pdf.Cell cell1 = new Aspose.Pdf.Cell();
	cell1.Paragraphs.Add(new TextFragment("Cell " + counter + ", 0"));
	row.Cells.Add(cell1); Aspose.Pdf.Cell cell2 = new Aspose.Pdf.Cell();
	cell2.Paragraphs.Add(new TextFragment("Cell " + counter + ", 1"));
	row.Cells.Add(cell2);
	// เมื่อเพิ่ม 10 แถว ให้แสดงแถวใหม่ในหน้าใหม่
	if (counter % 10 == 0 && counter != 0) row.IsInNewPage = true;
}
// เพิ่มตารางลงในคอลเลกชันย่อหน้าของไฟล์ PDF
doc.Pages[1].Paragraphs.Add(tab);

dataDir = dataDir + "InsertPageBreak_out.pdf";
// บันทึกเอกสาร PDF
doc.Save(dataDir);

Console.WriteLine("\nPage break inserted successfully.\nFile saved at " + dataDir);

บทสรุป

ในบทช่วยสอนนี้ เราได้เรียนรู้วิธีแทรกตัวแบ่งหน้าในเอกสาร PDF โดยใช้ Aspose.PDF สำหรับ .NET คุณสามารถใช้คำแนะนำทีละขั้นตอนนี้เพื่อเพิ่มตัวแบ่งหน้าหลังบรรทัดจำนวนหนึ่งบนตารางในเอกสาร PDF โดยใช้ C#

คำถามที่พบบ่อยสำหรับการแทรกตัวแบ่งหน้าในไฟล์ PDF

ถาม: ฉันจะเปลี่ยนขนาดหน้าสำหรับหน้าใหม่ที่ถูกสร้างหลังจากแบ่งหน้าได้อย่างไร

A: หากต้องการเปลี่ยนขนาดหน้าสำหรับหน้าใหม่ที่สร้างขึ้นหลังจากแบ่งหน้า คุณสามารถตั้งค่าได้PageSize ทรัพย์สินของPage วัตถุ ตัวอย่างเช่น คุณสามารถใช้โค้ดต่อไปนี้เพื่อตั้งค่าขนาดหน้าเป็น A4:

// ตั้งค่าขนาดหน้าเป็น A4
doc.Pages[1].SetPageSize(PageSize.A4);

ถาม: ฉันสามารถควบคุมระยะขอบหน้าสำหรับหน้าใหม่หลังจากแบ่งหน้าได้หรือไม่

A: ใช่ คุณสามารถควบคุมระยะขอบหน้าสำหรับหน้าใหม่หลังจากแบ่งหน้าได้ ใช้Margin ทรัพย์สินของPage วัตถุสำหรับตั้งค่าระยะขอบหน้า เช่น หากต้องการตั้งค่าระยะขอบทั้งหมดเป็น 10 จุด คุณสามารถใช้โค้ดต่อไปนี้:

// ตั้งค่าระยะขอบทั้งหมดเป็น 10 จุด
doc.Pages[1].Margin = new MarginInfo(10, 10, 10, 10);

ถาม: เป็นไปได้ไหมที่จะเพิ่มส่วนหัวและส่วนท้ายลงในหน้าใหม่หลังจากแบ่งหน้า?

A: ใช่ คุณสามารถเพิ่มส่วนหัวและส่วนท้ายในหน้าใหม่หลังจากแบ่งหน้าได้ ใช้Page.Header และPage.Footer คุณสมบัติในการเพิ่มเนื้อหาลงในส่วนหัวและส่วนท้ายของหน้า ตัวอย่างเช่น:

// เพิ่มส่วนหัวให้กับหน้าใหม่
doc.Pages[1].Header = new HeaderFooter()
{
    Margin = new MarginInfo(10, 10, 10, 10),
    Paragraphs = { new TextFragment("Header content") }
};

// เพิ่มส่วนท้ายของหน้าใหม่
doc.Pages[1].Footer = new HeaderFooter()
{
    Margin = new MarginInfo(10, 10, 10, 10),
    Paragraphs = { new TextFragment("Footer content") }
};

ถาม: ฉันสามารถแทรกตัวแบ่งหน้าในตำแหน่งที่เจาะจงอื่นๆ นอกเหนือจากหลังจากจำนวนแถวที่กำหนดได้หรือไม่

A: ใช่ คุณสามารถแทรกตัวแบ่งหน้าในตำแหน่งเฉพาะอื่นๆ นอกเหนือจากหลังจำนวนแถวที่กำหนด คุณสามารถตั้งค่าได้IsInNewPage ทรัพย์สินของแถวtrue เพื่อบังคับให้ตารางเริ่มหน้าใหม่หลังจากแถวนั้น

ถาม: ฉันจะปรับเปลี่ยนพฤติกรรมการแบ่งหน้าตามความสูงของเนื้อหาได้อย่างไร

A: คุณสามารถใช้IsBroken คุณสมบัติของตารางเพื่อเปิดใช้งานหรือปิดใช้งานการแบ่งแถวอัตโนมัติในแต่ละหน้า เมื่อตั้งค่าเป็นtrueมันช่วยให้แถวสามารถแบ่งข้ามหน้าตามความสูงของเนื้อหา