เรนเดอร์ตารางในเอกสาร PDF
ในบทช่วยสอนนี้ เราจะแนะนำคุณทีละขั้นตอนในการแสดงตารางในเอกสาร PDF โดยใช้ Aspose.PDF สำหรับ .NET เราจะอธิบายโค้ดต้นฉบับ C# ที่ให้มาและแสดงวิธีการใช้งานให้คุณดู
ขั้นตอนที่ 1: การสร้างเอกสาร
ก่อนอื่นเราจะสร้างเอกสาร PDF ใหม่:
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENTS DIRECTORY";
// สร้างเอกสารใหม่
Document doc = new Document();
ขั้นตอนที่ 2: การกำหนดค่าระยะขอบและทิศทางของหน้า
ต่อไปเราจะกำหนดค่าระยะขอบหน้าและตั้งค่าการวางแนวเป็นโหมดแนวนอน:
PageInfo pageInfo = doc.PageInfo;
Aspose.Pdf.MarginInfo marginInfo = pageInfo.Margin;
marginInfo. Left = 37;
marginInfo. Right = 37;
marginInfo. Top = 37;
marginInfo.Bottom = 37;
pageInfo.IsLandscape = true;
ขั้นตอนที่ 3: การสร้างตารางและคอลัมน์
ตอนนี้เรามาสร้างตารางและกำหนดความกว้างของคอลัมน์กัน:
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
table. ColumnWidths = "50 100";
ขั้นตอนที่ 4: เพิ่มแถวและเซลล์ลงในตาราง
ต่อไปเราจะเพิ่มแถวและเซลล์ลงในตารางโดยใช้ลูป:
for (int i = 1; i <= 120; i++)
{
Aspose.Pdf.Row row = table.Rows.Add();
row. FixedRowHeight = 15;
Aspose.Pdf.Cell cell1 = row.Cells.Add();
cell1.Paragraphs.Add(new TextFragment("Content 1"));
Aspose.Pdf.Cell cell2 = row.Cells.Add();
cell2.Paragraphs.Add(new TextFragment("HHHHH"));
}
ขั้นตอนที่ 5: การเพิ่มตารางลงในหน้า
ตอนนี้เรามาเพิ่มตารางลงในหน้าเอกสารกัน:
Page curPage = doc.Pages.Add();
Aspose.Pdf.Paragraphs paragraphs = curPage.Paragraphs;
paragraphs. Add(table);
ขั้นตอนที่ 6: การแสดงตารางบนหน้าใหม่
ต่อไปเราจะสร้างตารางใหม่และตั้งค่าคุณสมบัติ “IsInNewPage” เป็น “true” เพื่อแสดงตารางบนหน้าใหม่:
Aspose.Pdf.Table table1 = new Aspose.Pdf.Table();
table. ColumnWidths = "100 100";
for (int i = 1; i <= 10; i++)
{
Aspose.Pdf.Row row = table1.Rows.Add();
Aspose.Pdf.Cell cell1 = row.Cells.Add();
cell1.Paragraphs.Add(new TextFragment("LAAAAAAA"));
Aspose.Pdf.Cell cell2 = row.Cells.Add();
cell2.Paragraphs.Add(new TextFragment("LAAGGGGGG"));
}
table1.IsInNewPage = true;
paragraphs. Add(table1);
ขั้นตอนที่ 7: บันทึก PDF
สุดท้ายเราบันทึกเอกสาร PDF:
dataDir = dataDir + "IsNewPageProperty_Test_out.pdf";
doc.Save(dataDir);
Console.WriteLine("\nTable displayed successfully on a page.\nFile saved at location: " + dataDir);
ตัวอย่างโค้ดต้นฉบับสำหรับการเรนเดอร์ตารางโดยใช้ Aspose.PDF สำหรับ .NET
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
PageInfo pageInfo = doc.PageInfo;
Aspose.Pdf.MarginInfo marginInfo = pageInfo.Margin;
marginInfo.Left = 37;
marginInfo.Right = 37;
marginInfo.Top = 37;
marginInfo.Bottom = 37;
pageInfo.IsLandscape = true;
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
table.ColumnWidths = "50 100";
// เพิ่มหน้าแล้ว
Page curPage = doc.Pages.Add();
for (int i = 1; i <= 120; i++)
{
Aspose.Pdf.Row row = table.Rows.Add();
row.FixedRowHeight = 15;
Aspose.Pdf.Cell cell1 = row.Cells.Add();
cell1.Paragraphs.Add(new TextFragment("Content 1"));
Aspose.Pdf.Cell cell2 = row.Cells.Add();
cell2.Paragraphs.Add(new TextFragment("HHHHH"));
}
Aspose.Pdf.Paragraphs paragraphs = curPage.Paragraphs;
paragraphs.Add(table);
/********************************************/
Aspose.Pdf.Table table1 = new Aspose.Pdf.Table();
table.ColumnWidths = "100 100";
for (int i = 1; i <= 10; i++)
{
Aspose.Pdf.Row row = table1.Rows.Add();
Aspose.Pdf.Cell cell1 = row.Cells.Add();
cell1.Paragraphs.Add(new TextFragment("LAAAAAAA"));
Aspose.Pdf.Cell cell2 = row.Cells.Add();
cell2.Paragraphs.Add(new TextFragment("LAAGGGGGG"));
}
table1.IsInNewPage = true;
// ผมต้องการเก็บตารางที่ 1 ไว้หน้าถัดไปครับ...
paragraphs.Add(table1);
dataDir = dataDir + "IsNewPageProperty_Test_out.pdf";
doc.Save(dataDir);
Console.WriteLine("\nTable render successfully on a page.\nFile saved at " + dataDir);
บทสรุป
ขอแสดงความยินดี! ตอนนี้คุณได้เรียนรู้วิธีแสดงตารางในเอกสาร PDF โดยใช้ Aspose.PDF สำหรับ .NET แล้ว คำแนะนำทีละขั้นตอนนี้จะแสดงให้คุณเห็นถึงวิธีการสร้างเอกสาร กำหนดค่าระยะขอบและทิศทางของหน้า เพิ่มตาราง และแสดงตารางในหน้าใหม่ ตอนนี้คุณสามารถนำความรู้เหล่านี้ไปใช้กับโปรเจ็กต์ของคุณเองได้แล้ว
คำถามที่พบบ่อยสำหรับการเรนเดอร์ตารางในเอกสาร PDF
ถาม: ฉันจะปรับเปลี่ยนรูปลักษณ์ของตาราง เช่น เปลี่ยนสีเซลล์หรือเพิ่มเส้นขอบ ได้อย่างไร
A: หากต้องการปรับเปลี่ยนลักษณะของตาราง คุณสามารถตั้งค่าคุณสมบัติต่างๆ ของAspose.Pdf.Table
และเซลล์ของมัน ตัวอย่างเช่น คุณสามารถตั้งค่าBackgroundColor
คุณสมบัติของเซลล์ที่จะเปลี่ยนสีพื้นหลัง คุณยังสามารถตั้งค่าBorder
คุณสมบัติของตารางหรือเซลล์แต่ละเซลล์ในการเพิ่มเส้นขอบ นอกจากนี้ คุณยังสามารถปรับแต่งแบบอักษร สีข้อความ และการจัดตำแหน่งของเนื้อหาตารางได้โดยการแก้ไขTextState
ของTextFragment
วัตถุที่ถูกเพิ่มเข้าไปในเซลล์
ถาม: ฉันสามารถเพิ่มส่วนหัวหรือส่วนท้ายลงในตารางได้หรือไม่
A: ใช่ คุณสามารถเพิ่มส่วนหัวหรือส่วนท้ายของตารางได้โดยการสร้างแถวเพิ่มเติมที่จุดเริ่มต้นหรือจุดสิ้นสุดของตารางและกำหนดเนื้อหาที่เหมาะสมในเซลล์ คุณสามารถปรับแต่งส่วนหัวหรือส่วนท้ายของตารางได้แยกจากเนื้อหาอื่นๆ ในตารางโดยการเพิ่มรูปแบบหรือเนื้อหาที่แตกต่างกันในแถวเฉพาะเหล่านี้
ถาม: ฉันจะควบคุมตำแหน่งของตารางบนหน้าได้อย่างไร
A: เพื่อควบคุมตำแหน่งของตารางบนหน้า คุณสามารถปรับได้MarginInfo
ของPageInfo
วัตถุ.MarginInfo
ช่วยให้คุณตั้งค่าระยะขอบซ้าย ขวา บน และล่างของหน้า ซึ่งจะส่งผลต่อพื้นที่ว่างของตาราง นอกจากนี้คุณยังสามารถใช้PositioningType
ทรัพย์สินของAspose.Pdf.Table
เพื่อควบคุมการจัดตำแหน่งแนวนอนและแนวตั้งภายในพื้นที่เนื้อหาของหน้า
ถาม: ฉันสามารถส่งออกตารางไปยังรูปแบบไฟล์อื่น เช่น Excel หรือ CSV ได้หรือไม่
A: Aspose.PDF สำหรับ .NET ได้รับการออกแบบมาโดยเฉพาะสำหรับการทำงานกับเอกสาร PDF แม้ว่าจะสามารถส่งออกเอกสาร PDF เป็นรูปภาพหรือ XPS ได้ แต่จะไม่รองรับการส่งออกตารางเป็นรูปแบบเช่น Excel หรือ CSV โดยตรง หากต้องการส่งออกข้อมูลตารางเป็นรูปแบบไฟล์อื่น คุณอาจต้องใช้ไลบรารีหรือวิธีการเพิ่มเติมเพื่อแปลงเนื้อหา PDF เป็นรูปแบบที่ต้องการ
ถาม: ฉันจะเพิ่มไฮเปอร์ลิงก์ลงในเซลล์ตารางได้อย่างไร
A: หากต้องการเพิ่มไฮเปอร์ลิงก์ลงในเซลล์ตาราง คุณสามารถใช้Aspose.Pdf.WebHyperlink
คลาสเพื่อสร้างไฮเปอร์ลิงก์แล้วเพิ่มเป็นจุดยึดไปยังTextFragment
ภายในเซลล์ ช่วยให้คุณสามารถเชื่อมโยง URL หรือลิงก์เป้าหมายกับข้อความหรือเนื้อหาเฉพาะภายในเซลล์ เพื่อสร้างไฮเปอร์ลิงก์ที่สามารถคลิกได้