เพิ่มวัตถุ 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 และทำตามขั้นตอนเหล่านี้:
- คลิกที่ “ไฟล์” > “ใหม่” > “โครงการ” เพื่อสร้างโครงการใหม่
- เลือกเทมเพลต “แอปคอนโซล (.NET Framework)” หรือ “แอปคอนโซล (.NET Core)” ขึ้นอยู่กับการตั้งค่าของคุณ
- เลือกชื่อและตำแหน่งที่เหมาะสมสำหรับโครงการของคุณ จากนั้นคลิก “สร้าง”
ขั้นตอนที่ 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