แทรกตัวแบ่งหน้าในไฟล์ PDF
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีแทรกตัวแบ่งหน้าในไฟล์ PDF โดยใช้ Aspose.PDF สำหรับ .NET เราจะอธิบายซอร์สโค้ดใน C# ทีละขั้นตอน ในตอนท้ายของบทช่วยสอนนี้ คุณจะรู้วิธีเพิ่มตัวแบ่งหน้าหลังจากจำนวนบรรทัดที่กำหนดในตารางของเอกสาร PDF เริ่มกันเลย!
ขั้นตอนที่ 1: การตั้งค่าสภาพแวดล้อม
ตรวจสอบให้แน่ใจว่าคุณได้กำหนดค่าสภาพแวดล้อมการพัฒนา C# ของคุณด้วย Aspose.PDF สำหรับ .NET เพิ่มการอ้างอิงไปยังไลบรารีและนำเข้าเนมสเปซที่จำเป็น
ขั้นตอนที่ 2: การสร้างเอกสารและตาราง
เราสร้างอินสแตนซ์เอกสารใหม่และเพิ่มหน้าให้กับเอกสารนี้ ต่อไป เราจะสร้างอินสแตนซ์ Table เพื่อแสดงตารางของเราในเอกสาร 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 แถวให้กับอาร์เรย์ สำหรับแต่ละแถว เราจะสร้างอินสแตนซ์ของแถวและเพิ่มสองเซลล์ที่มีเนื้อหาข้อความ
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
ถาม: ฉันจะเปลี่ยนขนาดหน้าสำหรับหน้าใหม่ที่สร้างขึ้นหลังจากตัวแบ่งหน้าได้อย่างไร
ตอบ: หากต้องการเปลี่ยนขนาดหน้าสำหรับหน้าใหม่ที่สร้างขึ้นหลังจากตัวแบ่งหน้า คุณสามารถตั้งค่าได้PageSize
ทรัพย์สินของPage
วัตถุ. ตัวอย่างเช่น คุณสามารถใช้รหัสต่อไปนี้เพื่อตั้งค่าขนาดหน้าเป็น A4:
// ตั้งค่าขนาดหน้าเป็น A4
doc.Pages[1].SetPageSize(PageSize.A4);
ถาม: ฉันสามารถควบคุมระยะขอบของหน้าใหม่หลังจากตัวแบ่งหน้าได้หรือไม่
ตอบ: ได้ คุณสามารถควบคุมระยะขอบของหน้าสำหรับหน้าใหม่ได้หลังจากตัวแบ่งหน้า ใช้Margin
ทรัพย์สินของPage
วัตถุเพื่อกำหนดระยะขอบหน้า ตัวอย่างเช่น เมื่อต้องการตั้งค่าระยะขอบทั้งหมดเป็น 10 จุด คุณสามารถใช้รหัสต่อไปนี้:
// ตั้งค่าระยะขอบทั้งหมดเป็น 10 คะแนน
doc.Pages[1].Margin = new MarginInfo(10, 10, 10, 10);
ถาม: เป็นไปได้ไหมที่จะเพิ่มส่วนหัวและส่วนท้ายในหน้าใหม่หลังจากตัวแบ่งหน้า
ตอบ: ได้ คุณสามารถเพิ่มส่วนหัวและส่วนท้ายลงในหน้าใหม่ได้หลังจากตัวแบ่งหน้า ใช้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") }
};
ถาม: ฉันสามารถแทรกตัวแบ่งหน้าในตำแหน่งเฉพาะนอกเหนือจากหลังจำนวนแถวที่กำหนดได้หรือไม่
ตอบ: ได้ คุณสามารถแทรกตัวแบ่งหน้าในตำแหน่งเฉพาะนอกเหนือจากหลังแถวจำนวนหนึ่งได้ คุณสามารถตั้งค่าIsInNewPage
คุณสมบัติของแถวถึงtrue
เพื่อบังคับให้ตารางเริ่มหน้าใหม่หลังจากแถวนั้น
ถาม: ฉันจะปรับลักษณะการทำงานของตัวแบ่งหน้าตามความสูงของเนื้อหาได้อย่างไร
ตอบ: คุณสามารถใช้IsBroken
คุณสมบัติของตารางเพื่อเปิดหรือปิดการแบ่งแถวอัตโนมัติระหว่างหน้าต่างๆ เมื่อตั้งค่าเป็นtrue
ช่วยให้สามารถแบ่งแถวข้ามหน้าต่างๆ ตามความสูงของเนื้อหา