Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
常规的文本提取读取 PDF 文档的文本层。当某个页面是扫描图像或没有可选择的文本时,诸如 TextFragmentAbsorber 之类的类不会返回任何内容,因为没有可读取的文本。
对于这些情况,Aspose.PDF for .NET 提供了 OcrTextAbsorber 类(命名空间 Aspose.Pdf.Ocr)。它使用 OCR(光学字符识别)识别任意 PDF 文档页面上的纯文本,并以字符串形式返回。它遵循标准的 Aspose.PDF absorber/visitor 模式,因此接入与其他 absorber 相同的 Accept 入口点。
创建一个 OcrTextAbsorber,调用页面的 Accept 方法,然后从 Text 属性读取结果。absorber.Visit(page) 调用与 page.Accept(absorber) 直接等效。
调用 Pages 集合的 Accept 方法以识别每个页面。每个页面识别出的文本使用选项中的页面分隔符连接。
识别通过传递给构造函数的 OcrTextRecognitionOptions 对象进行配置。创建后也可以通过 absorber 的 Options 属性使用相同的选项,更改它们会影响下一次识别调用。
| 成员 | 默认值 | 含义 | 验证 |
|---|---|---|---|
Language |
OcrLanguage.English |
识别语言。 | — |
Resolution |
300 |
识别分辨率(DPI)。实用范围约为 200–600。较高的值会占用更多内存/CPU,但精度提升甚微。 | 如果 <= 0,则抛出 ArgumentOutOfRangeException。 |
PageSeparator |
"\n\n" |
插入在连续页面识别文本之间(不在第一页之前)。string.Empty 将各页面无间隔地连接。 |
如果设置为 null,则抛出 ArgumentNullException。 |
当文档语言未知时,将 Language 设置为 OcrLanguage.Auto 以自动检测。识别语言通过 OcrLanguage 枚举选择,支持英语(默认)、阿拉伯语、中文、法语、德语、印度尼西亚语、意大利语、日语、哈萨克语、韩语、波兰语、葡萄牙语、俄语、西班牙语、乌克兰语和 Auto。
Text 会被替换,而非累积。 每次 Accept/Visit 调用都会用该次调用的结果覆盖 Text;如需保留多个结果,请在每次调用后读取。在首次调用之前以及对于没有页面的文档,它为 string.Empty。Options.PageSeparator(默认 "\n\n")连接;第一页之前不添加分隔符。string.Empty 将各页面无间隔地合并。Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.