ABCPDF 中的 Gecko Engine 找不到标签

Gecko Engine in ABCPDF not finding tags

有没有人尝试过使用 ABCPDF Gecko 引擎实现标签?我一使用 Gecko 就可以在 MSHTML 引擎 (Internet Explorer) 上正常工作,它使我的 HTML 更好,它找不到 [=20= 中指定的标签].

我正在使用 style="abcpdf-tag-visible: true;" 来指定使用默认引擎工作的标签。

以下代码生成一个空白文档。

 [Test]
        public void Tags_With_Gecko()
        {
            Doc theDoc = new Doc();
            theDoc.Rect.Inset(100, 100);
            theDoc.Rect.Top = 700;

            theDoc.HtmlOptions.Engine = EngineType.Gecko;
            // Tag elements with style 'abcpdf-tag-visible: true'
            theDoc.HtmlOptions.ForGecko.AddTags = true;
            int id = theDoc.AddImageHtml("<FONT id=\"p1\" style=\"abcpdf-tag-visible: true; font-size: 72pt\">Gallia est omnis divisa in partes tres.</FONT>");
            // Frame location of the tagged element
            XRect[] tagRects = theDoc.HtmlOptions.ForGecko.GetTagRects(id);
            foreach (XRect theRect in tagRects)
            {
                theDoc.Rect.String = theRect.ToString();
                theDoc.FrameRect();
            }
            // Output tag ID
            string[] tagIds = theDoc.HtmlOptions.ForGecko.GetTagIDs(id);
            theDoc.Rect.String = theDoc.MediaBox.String;
            theDoc.Rect.Inset(20, 20);
            theDoc.FontSize = 64;
            theDoc.Color.String = "255 0 0";
            theDoc.AddText("Tag ID \"" + tagIds[0] + "\":");
            // Save the document
            const string testFilename = @"C:\pdf\HtmlOptionsGetTagRects.pdf";
            if (File.Exists(testFilename))
                File.Delete(testFilename);

            theDoc.Save(testFilename);
            theDoc.Clear();
            Process.Start(testFilename);
        }

几乎相同的默认引擎代码都能正确生成它。

我一直在与 WebSuperGoo 支持人员交谈。发现文档不是 consistent/complete.

http://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/addtags.htm

在 Gecko 中,您的标签必须对页面产生明显的影响才能被选中。在我的例子中,我有一个显示不间断 space 的标签,因此找不到它。

从他们的示例中,将样式更改为以下内容可以找到它: 样式="abcpdf-tag-visible: true; border: 1px solid transparent"

请注意,边框设置显然使这项工作有效。

同样,这修复了他们的演示,因此应该修复 Dillorscroft 的示例。

我需要花更多的时间来解决我的问题,因为我试图在页面上分配空白 spaces(对于 table 的内容),以便它们可以在之后更新html 已呈现,我知道第一个内容页面将从哪里开始。