เพิ่มลบไฟล์แนบใน PDF ใน C#

รูปแบบ PDF รองรับการเพิ่มไฟล์แนบในไฟล์ PDF ซึ่งคล้ายกับไฟล์แนบในอีเมล ไฟล์แนบ PDF อาจเป็น TXT, DOCX, XLSX หรือรูปแบบเอกสารอื่นๆ ในบทความนี้ คุณจะได้เรียนรู้วิธีใช้คุณสมบัติการจัดการไฟล์แนบ PDF พื้นฐานในแอปพลิเคชัน .NET ของคุณ ในตอนท้ายของบทความนี้ คุณจะสามารถแยก เพิ่ม หรือลบไฟล์แนบใน PDF โดยทางโปรแกรมโดยใช้ C#

API การจัดการไฟล์แนบ PDF - ดาวน์โหลดฟรี

Aspose.PDF for .NET เป็น API การจัดการ PDF ที่รู้จักกันดี ซึ่งช่วยให้คุณประมวลผลไฟล์ PDF ได้อย่างราบรื่น คุณสามารถอ่าน สร้าง แก้ไข และแปลงไฟล์ PDF และจัดการไฟล์แนบ PDF ได้ภายในไม่กี่ขั้นตอน API สามารถ ดาวน์โหลด เป็น DLL หรือ MSI รวมทั้งติดตั้งโดยใช้ NuGet

Install-Package Aspose.Pdf

เพิ่มไฟล์แนบใน PDF โดยใช้ C#

Aspose.PDF for .NET ยังให้คุณเพิ่มไฟล์แนบลงในไฟล์ PDF สำหรับสิ่งนี้ คุณเพียงแค่ต้องเพิ่มไฟล์ไปยังคอลเลกชัน Document.EmbeddedFiles โดยใช้คลาส FileSpecification ต่อไปนี้เป็นขั้นตอนในการเพิ่มไฟล์แนบในเอกสาร PDF

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มไฟล์แนบในเอกสาร PDF โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// เปิดเอกสาร
Document pdfDocument = new Document("document.pdf");

// ตั้งค่าไฟล์ใหม่ที่จะเพิ่มเป็นไฟล์แนบ
FileSpecification fileSpecification = new FileSpecification("test.txt", "Sample text file");

// เพิ่มสิ่งที่แนบมากับคอลเลกชันสิ่งที่แนบมาของเอกสาร
pdfDocument.EmbeddedFiles.Add(fileSpecification);

// บันทึกเอาต์พุตใหม่
pdfDocument.Save("output.pdf");

แยกไฟล์แนบ PDF โดยใช้ C#

ก่อนอื่น มาดูวิธีดึงไฟล์แนบจากเอกสาร PDF กันก่อน สำหรับสิ่งนี้ ให้ทำตามขั้นตอนด้านล่าง:

  • สร้างอินสแตนซ์ของคลาส Document
  • รับสิ่งที่แนบมาในวัตถุ EmbeddedFileCollection โดยใช้คุณสมบัติ Document.EmbeddedFiles
  • วนซ้ำไฟล์แนบใน EmbeddedFileCollection โดยใช้อ็อบเจ็กต์ FileSpecification
  • เข้าถึงคุณสมบัติของไฟล์แนบแต่ละรายการโดยใช้วัตถุ FileSpecification
  • บันทึกไฟล์แนบเป็นไฟล์ (ถ้าจำเป็น)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกไฟล์แนบ PDF โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// เปิดเอกสาร
Document pdfDocument = new Document("document.pdf");

// รับไฟล์ฝังตัวโดยเฉพาะ
foreach(FileSpecification fileSpecification in pdfDocument.EmbeddedFiles)
{
    // รับคุณสมบัติของไฟล์
    Console.WriteLine("Name: {0}", fileSpecification.Name);
    Console.WriteLine("Description: {0}", fileSpecification.Description);
    Console.WriteLine("Mime Type: {0}", fileSpecification.MIMEType);

    // ตรวจสอบว่าวัตถุพารามิเตอร์มีพารามิเตอร์หรือไม่
    if (fileSpecification.Params != null)
    {
        Console.WriteLine("CheckSum: {0}",
        fileSpecification.Params.CheckSum);
        Console.WriteLine("Creation Date: {0}",
        fileSpecification.Params.CreationDate);
        Console.WriteLine("Modification Date: {0}",
        fileSpecification.Params.ModDate);
        Console.WriteLine("Size: {0}", fileSpecification.Params.Size);
    }

    // รับไฟล์แนบและเขียนลงไฟล์หรือสตรีม
    byte[] fileContent = new byte[fileSpecification.Contents.Length];
    fileSpecification.Contents.Read(fileContent, 0, fileContent.Length);

    FileStream fileStream = new FileStream(fileSpecification.Name, FileMode.Create);
    fileStream.Write(fileContent, 0, fileContent.Length);
    fileStream.Close();
}

ลบไฟล์แนบออกจาก PDF โดยใช้ C#

คุณสามารถลบไฟล์แนบทั้งหมดหรือบางส่วนออกจากไฟล์ PDF สำหรับสิ่งนี้ Aspose.PDF for .NET มีวิธีการดังต่อไปนี้:

ต่อไปนี้เป็นขั้นตอนในการลบไฟล์แนบออกจาก PDF

  • สร้างอินสแตนซ์ของคลาส Document เพื่อโหลดไฟล์ PDF
  • ใช้ Document.EmbeddedFiles.Delete() (หรือวิธีลบอื่นๆ) เพื่อลบไฟล์แนบ
  • บันทึกไฟล์โดยใช้วิธี Document.Save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีลบไฟล์แนบออกจากไฟล์ PDF ใน C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// เปิดเอกสาร
Document pdfDocument = new Document("document.pdf");

// ลบไฟล์แนบทั้งหมด
pdfDocument.EmbeddedFiles.Delete();

// บันทึกไฟล์ที่อัปเดต
pdfDocument.Save("output.pdf");

บทสรุป

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

ดูสิ่งนี้ด้วย