如何使用 fop(生成零输出)将 Tesseract 软件输出 (hocr) 转换为纯文本文件?

How to convert Tesseract software output (hocr) into plain txt file with fop (generates zero output)?

结果输出: 一个包含空行的 txt 文件。

预期输出: 一个包含“Hello World!是我,纯文本或一条鱼”文本的 txt 文件。

我做错了什么?尝试嵌套 xsl:for-每个代码给出相同类型的行为。

我发现你的尝试有 2 个问题:

  1. 您的指令:

    <xsl:for-each select="//div [@class='ocr_page'] /div [@class='ocr_carea'] / p [@class='ocr_par'] / span[@class='ocr_line'] / span [@class='ocrx_word']">
    

    不选择任何内容,因为您的输入 XML 将其所有元素放在 命名空间。请参阅 如何解决此问题。

  2. 一旦你开始工作,这条指令会让你进入 span 的上下文。在此背景下,您的下一条指令:

     <xsl:value-of select="normalize-space(span [@class='ocrx_word'])" disable-output-escaping="yes"/>
    

    也什么都不选择,因为 span 本身不是 child。它 应该是:

    <xsl:value-of select="normalize-space(.)"/>
    

    我怀疑你想在样式表中禁用输出转义 产生 XML 结果。