استخراج نصوص SuperScripts و SubScripts من PDF

استخراج نصوص SuperScripts و SubScripts

استخراج النص من مستند PDF هو أمر شائع. ومع ذلك، في مثل هذا النص، عند استخراجه، قد لا يتم عرض SuperScripts و SubScripts الموجودة فيه، والتي تعتبر نموذجية للمستندات التقنية والمقالات. الـ SubScript أو SuperScript هو حرف أو رقم أو حرف موضوع أسفل أو فوق خط النص العادي. عادة ما يكون أصغر من بقية النص.

تستخدم SubScripts و SuperScripts غالبًا في الصيغ والتعبيرات الرياضية ومواصفات المركبات الكيميائية. من الصعب تعديلها عندما يمكن أن يكون هناك العديد منها في نفس فقرة النص. في أحد الإصدارات الأخيرة، أضافت مكتبة Aspose.PDF for .NET دعمًا لاستخراج نصوص SuperScripts و SubScripts من PDF.

استخدم فئة TextFragmentAbsorber ويمكنك بالفعل القيام بأي شيء بالنص الموجود، أي يمكنك ببساطة استخدام النص بالكامل. جرب مقتطف الكود التالي:

مقتطف الكود التالي يعمل أيضًا مع مكتبة Aspose.PDF.Drawing.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractSuperScriptsAndSubScripts()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "SuperScriptExample.pdf"))
    {
        // Create an absorber
        var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber();
        document.Pages[1].Accept(absorber);
        using (StreamWriter writer = new StreamWriter(dataDir + "SuperScriptExample_out.txt"))
        {
            // Write the extracted text in text file
            writer.WriteLine(absorber.Text);
        }
    }
}

أو استخدم TextFragments بشكل منفصل وقم بجميع أنواع التلاعب بها، على سبيل المثال، فرزها حسب الإحداثيات أو حسب الحجم.

مقتطف الكود التالي يعمل أيضًا مع مكتبة Aspose.PDF.Drawing.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractSuperScriptsAndSubScriptsWithTextFragments()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "SuperScriptExample.pdf"))
    {
        // Create an absorber
        var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber();
        document.Pages[1].Accept(absorber);
        using (StreamWriter writer = new StreamWriter(dataDir + "SuperScriptExample_out.txt"))
        {
            foreach (var textFragment in absorber.TextFragments)
            {
                // Write the extracted text in text file
                writer.Write(textFragment.Text);
            }

        }
    }
}