从pdf查看器中提取文本和所有字体信息



用户将在网络浏览器控件(或任何其他查看器)中看到一个pdf,并从中选择文本,然后我想找到

1)所选文本的坐标。

2)所选文本的字体大小。

3)所选文本的字体颜色。

4)所选文本的页码。

这样我就可以使用这些信息从 pdf 中查找具有相同主题的文本。

问题1:是否可以在 Web 浏览器控件中找到选择了哪些文本或坐标?一定有更好的方法来使用 pdf tron 查看器吗?

我的方法是修复表单,以便用户不会更改长度,宽度

a)我会找到一种方法将屏幕坐标转换为PDF矩形坐标(#problem 2)

b)然后我填写从这些坐标中获取文本

c)然后我会找到该文本的颜色和其他属性

但我相信,一定有一个简单的方法。我试图寻求帮助,但无法找到这样的帮助。请提供相关文档和帮助,以找出开始任务的起点。

使用网络浏览器无法做到这一点,但可以使用PDFViewCtrl进行替代方法。

1)通过浏览PDFNET在工具箱中添加控件

.dll

2)最好不要拖放控件,或者初始化组件()后初始化pdfviewctrl

;

3) 添加这些行以为用户提供选择选项

        pdfViewCtrl1.SetDoc(doc);
        pdfViewCtrl1.SetToolMode(pdftron.PDF.PDFViewCtrl.ToolMode.e_text_rect_select);

4)在开始按钮的单击事件后面添加此代码,以便用户告诉程序他/她已选择文本。

            int pagenumber = pdfViewCtrl1.GetCurrentPage();
            if (pdfViewCtrl1.HasSelectionOnPage(pagenumber))
            {
                pdftron.PDF.PDFViewCtrl.Selection selection = pdfViewCtrl1.GetSelection();
                string HTML = selection.GetAsHtml();
                HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
                document.LoadHtml(HTML);
                double[] coordinates = selection.GetQuads();
                Rect rect = new Rect(coordinates[6], coordinates[7], coordinates[2], coordinates[3]);
           }

您将获得HTML中的所有内容,否则您有文本和坐标,因此您可以找到更多信息,

在 http://www.pdftron.com/pdfnet/samplecode.html 上查找代码示例

相关内容

  • 没有找到相关文章

最新更新