用户将在网络浏览器控件(或任何其他查看器)中看到一个pdf,并从中选择文本,然后我想找到
1)所选文本的坐标。
2)所选文本的字体大小。
3)所选文本的字体颜色。
4)所选文本的页码。
这样我就可以使用这些信息从 pdf 中查找具有相同主题的文本。
问题1:是否可以在 Web 浏览器控件中找到选择了哪些文本或坐标?一定有更好的方法来使用 pdf tron 查看器吗?
我的方法是修复表单,以便用户不会更改长度,宽度
a)我会找到一种方法将屏幕坐标转换为PDF矩形坐标(#problem 2)
b)然后我填写从这些坐标中获取文本
c)然后我会找到该文本的颜色和其他属性
但我相信,一定有一个简单的方法。我试图寻求帮助,但无法找到这样的帮助。请提供相关文档和帮助,以找出开始任务的起点。
使用网络浏览器无法做到这一点,但可以使用PDFViewCtrl进行替代方法。
1)通过浏览PDFNET在工具箱中添加控件
.dll2)最好不要拖放控件,或者初始化组件()后初始化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 上查找代码示例