เพิ่มวัตถุ 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: สร้างและกำหนดค่าตาราง

ตอนนี้ เรามาสร้างวัตถุตารางและตั้งค่าความกว้างของคอลัมน์กันดีกว่า เราจะสร้างตารางที่มีสองคอลัมน์ แต่ละคอลัมน์มีความกว้าง 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 ได้หรือไม่

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

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

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

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

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

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

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

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

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