Aspose.pdf 如何输出文本框中的文本?

想获取附件中右边2个文本框中的文本是否有什么好的办法?
OUTPUT5.pdf (52.9 KB)

@lingtian
您好

一般方法基于两个类:TextFragmentAbsorber,用于控制单个文本片段(例如,如果您想添加一个复选框并排除与评估相关的文本);

以及 TextAbsorber。

此外,对于第二种情况,我提供了一个选项,可以仅搜索页面的右半部分;这种方法适用于两种情况。

希望对您有所帮助。如有任何疑问,请随时提出。

        private static void text_extraction_issue()
        {
            string inputFile = InputFolder + "OUTPUT5.pdf";
            string outputFile = OutputFolder + "OUTPUT5_out.pdf";

            using (var pdfDoc = new Document(inputFile))
            {
                var absorber = new TextFragmentAbsorber();
                absorber.Visit(pdfDoc);
                foreach (var fragment in absorber.TextFragments)
                {
                    Console.WriteLine(fragment.Text);
                }

                double pageWidth = pdfDoc.Pages[1].MediaBox.Width;   // total width
                double pageHeight = pdfDoc.Pages[1].MediaBox.Height;  // total height

                // Right half:  from middle X to the right edge
                double leftX = pageWidth / 2;           // middle of the page
                double lowerY = 0;                       // bottom of the page
                double rightX = pageWidth;               // right edge
                double upperY = pageHeight;              // top of the page
                var searchRect =
                    new Aspose.Pdf.Rectangle(leftX, lowerY, rightX, upperY);

                var textAbsorber = new TextAbsorber();
                textAbsorber.TextSearchOptions.Rectangle = searchRect;
                textAbsorber.Visit(pdfDoc);
                Console.WriteLine(textAbsorber.Text);

                pdfDoc.Save(outputFile);
            }
        }