เพิ่มวัตถุ SVG ในไฟล์ PDF

ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีการเพิ่มวัตถุ SVG ในไฟล์ PDF โดยใช้ไลบรารี Aspose.PDF สำหรับ .NET SVG (Scalable Vector Graphics) เป็นรูปแบบที่นิยมสำหรับกราฟิกเวกเตอร์ซึ่งสามารถปรับขนาดได้อย่างง่ายดายโดยไม่สูญเสียคุณภาพ ด้วย Aspose.PDF คุณสามารถเพิ่มวัตถุ SVG ลงในเอกสาร PDF ของคุณโดยใช้โปรแกรมได้

ความต้องการ

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

  • ติดตั้ง Visual Studio แล้ว
  • ติดตั้งไลบรารี Aspose.PDF สำหรับ .NET แล้ว

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

ขั้นแรก ให้ตั้งค่าสภาพแวดล้อมโดยสร้างโปรเจ็กต์ C# ใหม่ใน Visual Studio เปิด Visual Studio และทำตามขั้นตอนเหล่านี้:

  1. คลิกที่ “ไฟล์” > “ใหม่” > “โครงการ” เพื่อสร้างโครงการใหม่
  2. เลือกเทมเพลต “แอปคอนโซล (.NET Framework)” หรือ “แอปคอนโซล (.NET Core)” ขึ้นอยู่กับการตั้งค่าของคุณ
  3. เลือกชื่อและตำแหน่งที่เหมาะสมสำหรับโครงการของคุณ จากนั้นคลิก “สร้าง”

ขั้นตอนที่ 2: สร้างเอกสารและวัตถุรูปภาพ

ในขั้นตอนนี้ เราจะสร้างอ็อบเจ็กต์ที่จำเป็นสำหรับเอกสาร PDF และรูปภาพ SVG ของเรา เปิดไฟล์ C# ของโปรเจ็กต์ของคุณและเพิ่มโค้ดต่อไปนี้:

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

// วัตถุเอกสารทันที
Document doc = new Document();
// สร้างอินสแตนซ์ภาพ
Aspose.Pdf.Image img = new Aspose.Pdf.Image();

ขั้นตอนที่ 3: ตั้งค่าคุณสมบัติของรูปภาพ

ต่อไปเราจะตั้งค่าคุณสมบัติสำหรับรูปภาพ SVG ของเรา เราจะระบุประเภทไฟล์เป็น SVG เส้นทางไปยังไฟล์ SVG และขนาดของรูปภาพ เพิ่มโค้ดต่อไปนี้หลังจากขั้นตอนก่อนหน้า:

// ตั้งค่าประเภทภาพเป็น SVG
img.FileType = Aspose.Pdf.ImageFileType.Svg;
// เส้นทางสำหรับไฟล์ต้นฉบับ
img.File = dataDir + "SVGToPDF.svg";
// ตั้งค่าความกว้างสำหรับอินสแตนซ์ของภาพ
img. FixWidth = 50;
// ตั้งค่าความสูงสำหรับอินสแตนซ์ของภาพ
img.FixHeight = 50;

ขั้นตอนที่ 4: สร้างและกำหนดค่าตาราง

ตอนนี้เรามาสร้างอ็อบเจ็กต์ตารางและกำหนดความกว้างของคอลัมน์กัน เราจะสร้างตารางที่มี 2 คอลัมน์ โดยแต่ละคอลัมน์มีความกว้าง 100 หน่วย เพิ่มโค้ดต่อไปนี้:

// สร้างตารางอินสแตนซ์
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// กำหนดความกว้างให้กับเซลล์ตาราง
table. ColumnWidths = "100 100";

ขั้นตอนที่ 5: เพิ่มเซลล์ลงในตาราง

ในขั้นตอนนี้ เราจะเพิ่มแถวและเซลล์ลงในตาราง โดยแต่ละแถวจะแสดงถึงแถวแนวนอนในตาราง และเซลล์จะถูกเพิ่มเข้าไปในแถว เพิ่มโค้ดต่อไปนี้:

//สร้างวัตถุแถวและเพิ่มลงในอินสแตนซ์ตาราง
Aspose.Pdf.Row row = table.Rows.Add();
// สร้างวัตถุเซลล์และเพิ่มลงในอินสแตนซ์แถว
Aspose.Pdf.Cell cell = row.Cells.Add();

ขั้นตอนที่ 6: เพิ่มข้อความและรูปภาพลงในเซลล์

ต่อไปเราจะเพิ่มข้อความและรูปภาพ SVG ลงในเซลล์ของตาราง เราจะเพิ่มข้อความ “เซลล์แรก” ลงในเซลล์แรกและรูปภาพ SVG ลงในเซลล์ที่สอง เพิ่มโค้ดต่อไปนี้:

// เพิ่ม textfragment ลงในคอลเล็กชั่นย่อหน้าของวัตถุเซลล์
cell.Paragraphs.Add(new TextFragment("First cell"));
// เพิ่มเซลล์อื่นลงในวัตถุแถว
cell = row. Cells. Add();
// เพิ่มรูปภาพ SVG ลงในคอลเล็กชันย่อหน้าของอินสแตนซ์เซลล์ที่เพิ่มล่าสุด
cell.Paragraphs.Add(img);

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

ตอนนี้เรามาสร้างอ็อบเจ็กต์หน้าและเพิ่มลงในเอกสาร ตารางจะถูกเพิ่มลงในคอลเล็กชันย่อหน้าของหน้า เพิ่มโค้ดต่อไปนี้:

// สร้างวัตถุหน้าและเพิ่มลงในคอลเล็กชั่นหน้าของอินสแตนซ์เอกสาร
Page page = doc.Pages.Add();
// เพิ่มตารางลงในคอลเล็กชั่นย่อหน้าของวัตถุหน้า
page.Paragraphs.Add(table);

ขั้นตอนที่ 8: บันทึกไฟล์ PDF

สุดท้ายเราจะบันทึกไฟล์ PDF ลงในตำแหน่งที่ระบุ เพิ่มโค้ดต่อไปนี้:

dataDir = dataDir + "AddSVGObject_out.pdf";
// บันทึกไฟล์ PDF
doc.Save(dataDir);

Console.WriteLine("\nSVG image added successfully inside a table cell.\nFile saved at " + dataDir);

ตัวอย่างโค้ดต้นฉบับสำหรับเพิ่มวัตถุ SVG โดยใช้ Aspose.PDF สำหรับ .NET

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

// สร้างอินสแตนซ์ของวัตถุเอกสาร
Document doc = new Document();
// สร้างอินสแตนซ์ภาพ
Aspose.Pdf.Image img = new Aspose.Pdf.Image();
// ตั้งค่าประเภทภาพเป็น SVG
img.FileType = Aspose.Pdf.ImageFileType.Svg;
// เส้นทางสำหรับไฟล์ต้นฉบับ
img.File = dataDir + "SVGToPDF.svg";
// ตั้งค่าความกว้างสำหรับอินสแตนซ์ของภาพ
img.FixWidth = 50;
// ตั้งค่าความสูงสำหรับอินสแตนซ์ของภาพ
img.FixHeight = 50;
// สร้างอินสแตนซ์ตาราง
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// กำหนดความกว้างให้กับเซลล์ตาราง
table.ColumnWidths = "100 100";
//สร้างวัตถุแถวและเพิ่มลงในอินสแตนซ์ตาราง
Aspose.Pdf.Row row = table.Rows.Add();
// สร้างวัตถุเซลล์และเพิ่มลงในอินสแตนซ์แถว
Aspose.Pdf.Cell cell = row.Cells.Add();
// เพิ่ม textfragment ลงในคอลเล็กชั่นย่อหน้าของวัตถุเซลล์
cell.Paragraphs.Add(new TextFragment("First cell"));
// เพิ่มเซลล์อื่นลงในวัตถุแถว
cell = row.Cells.Add();
// เพิ่มรูปภาพ SVG ลงในคอลเล็กชันย่อหน้าของอินสแตนซ์เซลล์ที่เพิ่มล่าสุด
cell.Paragraphs.Add(img);
// สร้างวัตถุหน้าและเพิ่มลงในคอลเล็กชั่นหน้าของอินสแตนซ์เอกสาร
Page page = doc.Pages.Add();
// เพิ่มตารางลงในคอลเล็กชั่นย่อหน้าของวัตถุหน้า
page.Paragraphs.Add(table);

dataDir = dataDir + "AddSVGObject_out.pdf";
// บันทึกไฟล์ PDF
doc.Save(dataDir);

Console.WriteLine("\nSVG image added successfully inside a table cell.\nFile saved at " + dataDir);            

บทสรุป

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

คำถามที่พบบ่อยสำหรับการเพิ่มวัตถุ SVG ในไฟล์ PDF

ถาม: ฉันสามารถเพิ่มวัตถุ SVG หลายรายการลงในเอกสาร PDF ได้หรือไม่

A: ใช่ คุณสามารถเพิ่มวัตถุ SVG หลายรายการลงในเอกสาร PDF ได้ เพียงสร้างและกำหนดค่าเพิ่มเติมAspose.Pdf.Image อินสแตนซ์สำหรับภาพ SVG แต่ละภาพที่คุณต้องการเพิ่ม จากนั้นเพิ่มลงในเซลล์ตารางหรือย่อหน้าที่ต้องการในเอกสาร PDF

ถาม: ฉันจะปรับขนาดและตำแหน่งของภาพ SVG ในเซลล์ตารางได้อย่างไร

A: หากต้องการปรับขนาดและตำแหน่งของภาพ SVG ในเซลล์ตาราง คุณสามารถแก้ไขFixWidth และFixHeight คุณสมบัติของAspose.Pdf.Imageตัวอย่างเช่น คุณยังสามารถใช้คุณสมบัติอื่น ๆ เช่นHorizontalAlignment และVerticalAlignment ของเซลล์ตารางเพื่อควบคุมการวางตำแหน่ง

ถาม: เป็นไปได้ไหมที่จะเพิ่มข้อความควบคู่กับภาพ SVG ในเซลล์ตารางเดียวกัน?

A: ใช่ คุณสามารถเพิ่มข้อความร่วมกับภาพ SVG ในเซลล์ตารางเดียวกันได้ คุณสามารถใช้cell.Paragraphs.Add(new TextFragment("Your Text Here")); วิธีการเพิ่มข้อความลงในเซลล์พร้อมกับรูปภาพ SVG

ถาม: ฉันสามารถเพิ่มไฮเปอร์ลิงก์ลงในภาพ SVG ได้หรือไม่

A: ใช่ คุณสามารถเพิ่มไฮเปอร์ลิงก์ไปยังภาพ SVG ได้โดยใช้Hyperlink ทรัพย์สินของAspose.Pdf.Image อินสแตนซ์ ตั้งค่า URL ไฮเปอร์ลิงก์หรือการกระทำเพื่อทำให้สามารถคลิกรูปภาพได้

ถาม: Aspose.PDF สำหรับ .NET เข้ากันได้กับ .NET Core 3.1 หรือเวอร์ชันใหม่กว่าหรือไม่

A: ใช่ Aspose.PDF สำหรับ .NET เข้ากันได้กับ .NET Core 3.1 และเวอร์ชันใหม่กว่า คุณสามารถใช้ได้ในแอปพลิเคชัน .NET Framework และ .NET Core