ลบไฮเปอร์ลิงก์หลังจากการแปลงจาก HTML

การแนะนำ

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

ข้อกำหนดเบื้องต้น

ก่อนที่จะเจาะลึกโค้ด ให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นดังต่อไปนี้:

  1. Visual Studio: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Visual Studio ไว้ในเครื่องของคุณแล้ว นี่จะเป็นสภาพแวดล้อมการพัฒนาของคุณ
  2. Aspose.PDF สำหรับ .NET: คุณต้องมีไลบรารี Aspose.PDF คุณสามารถดาวน์โหลดได้จากที่นี่.
  3. ความรู้พื้นฐานเกี่ยวกับ C#: ความคุ้นเคยกับการเขียนโปรแกรม C# จะช่วยให้คุณเข้าใจโค้ดได้ดีขึ้น

แพ็คเกจนำเข้า

ในการเริ่มต้น คุณต้องนำเข้าแพ็คเกจที่จำเป็นลงในโปรเจ็กต์ C# ของคุณ โดยคุณสามารถทำได้ดังนี้:

  1. เปิดโครงการ Visual Studio ของคุณ
  2. คลิกขวาที่โครงการของคุณใน Solution Explorer และเลือก “จัดการแพ็คเกจ NuGet”
  3. ค้นหาAspose.PDF และติดตั้งมัน
using Aspose.Pdf.Annotations;
using Aspose.Pdf.Text;
using System.IO;

ตอนนี้คุณได้ตั้งค่าทุกอย่างเรียบร้อยแล้ว เรามาดูกระบวนการลบไฮเปอร์ลิงก์จากไฟล์ HTML หลังจากแปลงเป็น PDF กัน

ขั้นตอนที่ 1: ตั้งค่าไดเรกทอรีเอกสาร

ขั้นแรก คุณต้องระบุเส้นทางไปยังไดเร็กทอรีเอกสารของคุณ นี่คือตำแหน่งที่ไฟล์ HTML ของคุณอยู่และตำแหน่งที่จะบันทึกไฟล์ PDF เอาต์พุต

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

แทนที่"YOUR DOCUMENT DIRECTORY" พร้อมด้วยเส้นทางจริงที่จัดเก็บไฟล์ HTML ของคุณ

ขั้นตอนที่ 2: โหลดเอกสาร HTML

ต่อไปคุณจะโหลดเอกสาร HTML โดยใช้Document คลาสจาก Aspose.PDF คลาสนี้ช่วยให้คุณทำงานกับเอกสาร PDF ได้อย่างง่ายดาย

Document doc = new Document(dataDir + "SampleHtmlFile.html", new HtmlLoadOptions());

ที่นี่เรากำลังโหลดไฟล์ HTML ชื่อSampleHtmlFile.html. ตรวจสอบให้แน่ใจว่ามีไฟล์อยู่ในไดเร็กทอรีที่คุณระบุ

ขั้นตอนที่ 3: บันทึกเอกสารลงในสตรีมหน่วยความจำ

ก่อนที่เราจะเริ่มประมวลผลคำอธิบายประกอบ เราจะต้องบันทึกเอกสารลงในหน่วยความจำก่อน ขั้นตอนนี้มีความสำคัญมาก เนื่องจากเป็นการเตรียมเอกสารให้พร้อมสำหรับการจัดการเพิ่มเติม

doc.Save(new MemoryStream());

บรรทัดนี้จะบันทึกเอกสารไว้ในหน่วยความจำ ซึ่งทำให้เราสามารถทำงานกับเอกสารได้โดยไม่ต้องเขียนลงดิสก์

ขั้นตอนที่ 4: ทำซ้ำผ่านคำอธิบายประกอบ

ตอนนี้เราจะวนซ้ำผ่านคำอธิบายประกอบในเอกสาร คำอธิบายประกอบคือองค์ประกอบต่างๆ เช่น ลิงก์ ความคิดเห็น และไฮไลต์ เราสนใจคำอธิบายประกอบลิงก์โดยเฉพาะ

foreach (Annotation a in doc.Pages[1].Annotations)
{
    if (a.AnnotationType == AnnotationType.Link)
    {
        // ประมวลผลคำอธิบายลิงก์
    }
}

ในลูปนี้ เราจะตรวจสอบว่าประเภทคำอธิบายประกอบเป็นลิงก์หรือไม่ หากใช่ เราจะดำเนินการตามขั้นตอนต่อไป

ขั้นตอนที่ 5: ลบการดำเนินการไฮเปอร์ลิงก์

สำหรับคำอธิบายลิงก์แต่ละรายการ เราจำเป็นต้องตรวจสอบว่ามีการดำเนินการไฮเปอร์ลิงก์หรือไม่ หากมี เราจะลบไฮเปอร์ลิงก์โดยกำหนด URI เป็นสตริงว่าง

LinkAnnotation la = (LinkAnnotation)a;
if (la.Action is GoToURIAction)
{
    GoToURIAction gta = (GoToURIAction)la.Action;
    gta.URI = "";

โค้ดสั้นๆ นี้จะช่วยให้แน่ใจว่าการดำเนินการไฮเปอร์ลิงก์จะถูกลบออกอย่างมีประสิทธิภาพ

ขั้นตอนที่ 6: ดูดซับชิ้นส่วนข้อความ

ต่อไปเราจะมาดูส่วนของข้อความที่เกี่ยวข้องกับคำอธิบายลิงก์ ซึ่งจะช่วยให้เราปรับแต่งลักษณะของข้อความได้

TextFragmentAbsorber tfa = new TextFragmentAbsorber();
tfa.TextSearchOptions = new TextSearchOptions(a.Rect);
doc.Pages[a.PageIndex].Accept(tfa);

ที่นี่เราสร้างTextFragmentAbsorber และตั้งค่าตัวเลือกการค้นหาให้เป็นรูปสี่เหลี่ยมผืนผ้าของคำอธิบายประกอบ ซึ่งจะช่วยให้เราค้นหาข้อความที่เชื่อมโยงได้

ขั้นตอนที่ 7: ปรับเปลี่ยนลักษณะข้อความ

เมื่อเรามีข้อความบางส่วนแล้ว เราสามารถปรับเปลี่ยนลักษณะของข้อความได้ ในกรณีนี้ เราจะลบเส้นใต้และเปลี่ยนสีข้อความเป็นสีดำ

foreach (TextFragment tf in tfa.TextFragments)
{
    tf.TextState.Underline = false;
    tf.TextState.ForegroundColor = Color.Black;
}

ขั้นตอนนี้ช่วยให้การอ่านข้อความดีขึ้นโดยการลบรูปแบบไฮเปอร์ลิงก์

ขั้นตอนที่ 8: ลบคำอธิบายประกอบ

หลังจากแก้ไขข้อความแล้ว เราก็ลบคำอธิบายลิงค์ออกจากเอกสารได้อย่างปลอดภัย

doc.Pages[a.PageIndex].Annotations.Delete(a);
}

บรรทัดนี้จะลบไฮเปอร์ลิงก์ออกจาก PDF เพื่อให้แน่ใจว่าจะไม่มีไฮเปอร์ลิงก์ปรากฏอยู่ในผลลัพธ์สุดท้ายอีกต่อไป

ขั้นตอนที่ 9: บันทึกเอกสารที่แก้ไข

สุดท้ายเราต้องบันทึกเอกสารที่แก้ไขแล้วลงในไฟล์ PDF ใหม่ ซึ่งเป็นขั้นตอนสุดท้ายในกระบวนการของเรา

doc.Save(dataDir + "RemoveHyperlinksFromText_out.pdf");

บรรทัดนี้จะบันทึกเอกสารโดยลบไฮเปอร์ลิงก์ออก และสร้างไฟล์ PDF ใหม่ที่ชื่อRemoveHyperlinksFromText_out.pdf.

บทสรุป

และแล้วคุณก็ทำได้สำเร็จ! คุณได้ลบไฮเปอร์ลิงก์ออกจากเอกสาร HTML สำเร็จแล้ว หลังจากแปลงเป็น PDF โดยใช้ Aspose.PDF สำหรับ .NET กระบวนการนี้ไม่เพียงแต่ช่วยเพิ่มความสามารถในการอ่าน PDF ของคุณเท่านั้น แต่ยังช่วยให้คุณควบคุมเนื้อหาที่คุณนำเสนอได้อีกด้วย

คำถามที่พบบ่อย

ฉันสามารถลบไฮเปอร์ลิงก์จากเอกสาร PDF ใดๆ ได้หรือไม่

ใช่ คุณสามารถลบไฮเปอร์ลิงก์จากเอกสาร PDF ใดๆ ได้โดยใช้ Aspose.PDF สำหรับ .NET

Aspose.PDF ใช้ได้ฟรีหรือไม่?

Aspose.PDF เสนอให้ทดลองใช้งานฟรี แต่หากต้องการใช้ฟีเจอร์เต็มรูปแบบ คุณต้องซื้อใบอนุญาต ตรวจสอบหน้าซื้อ.

จะเกิดอะไรขึ้นหากฉันประสบปัญหาขณะใช้ Aspose.PDF?

คุณสามารถขอความช่วยเหลือได้ที่ฟอรั่มสนับสนุน.

ฉันสามารถแปลงไฟล์รูปแบบอื่นเป็น PDF โดยใช้ Aspose ได้หรือไม่

ใช่ Aspose รองรับรูปแบบไฟล์ต่างๆ สำหรับการแปลงเป็น PDF

ฉันสามารถดาวน์โหลด Aspose.PDF สำหรับ .NET ได้ที่ไหน

คุณสามารถดาวน์โหลดได้จากลิงค์ดาวน์โหลด.