在PDFTron/PDFNet中使用注释工具时获取注释数据

本文关键字:注释 工具 获取 数据 PDFTron PDFNet | 更新日期: 2023-09-27 18:27:37

我正在使用PDFTron/PDFNet库在visual studio 2015上开发一个桌面PDF注释系统。我参考了一个提供的示例代码:PDFViewSimple.cs。我想写一个简单的徒手墨水注释函数,并获取笔划的数据来改变外观。我用过:

private void MenuToolFreeHand_Click(对象发送方,EventArgs e){_pdfview.SetToolMode(PDFViewCtrl.ToolMod e.e_ink_create);}

而且效果很好。但是我不知道怎样才能得到那些笔画的数据。我参考了文档,并在Ink类下面找到了这样的方法:

public Point GetPoint(int pathindex,int pointindex)

墨迹列表是一个由n个数组组成的数组,每个数组表示一个笔划路径。每个阵列应为一系列点对象,指定路径上的点。绘制时,点应通过直线或曲线以取决于实施的方式连接。

墨迹列表正是我所需要的,但当我想获得用户刚写的笔划的点数据或时间数据时,我不知道在哪里可以找到。有没有存储这些数据的对象?

我不知道当用户完成一次划水时是否有事件触发。如果我使用这个e_ink_create工具,如何更改一个笔划的不透明度?

在PDFTron/PDFNet中使用注释工具时获取注释数据

对于新项目,建议使用PDFViewWPF(WPF)而不是PDFViewCtrl(WinForms)。我们的PDFViewWPF控件包括自定义行为所需的所有代码。SDK示例中特别包含的是PDFViewWPFTools项目,它包含了您所需要的一切。另一方面,PDFViewCtrl不可自定义。我相信,即使你的项目是WinForms,你仍然可以使用PDFViewWPF。你只需要瞄准.Net 4+。

如果你真的想坚持使用PDFViewCtrl,那么这篇论坛文章将展示如何自定义注释外观。您可以使用PDFViewCtrl注册一些事件,也可以简单地获取页面上的最后一个注释(因为这将是最新的注释)。

这篇文章展示了如何遍历墨迹点。

如果您确实切换到PDFViewWPF,那么请查看PDFViewWPF项目中的FreehandCreate.cs Create()和Draw()方法。