想获取附件中右边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);
}
}