需要在用户点击位置添加注释(如下图注释),最重要的是将 ActiveX 控件的窗口坐标转换为 PDF 页面坐标。需要使用接口:ConvertClientCoordToPageCoord()。
以C# FrameWork项目为例:
步骤1
创建onclick鼠标点击事件:在设计界面里,选中ActiveX控件,右键查看属性,在属性界面里找到事件,并双利事件里的OnClick。
双击后,会自动在代码里创建点击事件处理器:
private void axFoxitPDFSDK1_OnClick(object sender, AxFoxitPDFSDKProLib._DFoxitPDFSDKEvents_OnClickEvent e)
{}
步骤2
代码实现。在点击处创建注释,示例代码如下:
private void axFoxitPDFSDK1_OnClick(object sender, AxFoxitPDFSDKProLib._DFoxitPDFSDKEvents_OnClickEvent e)
{
int pageIndex = axFoxitPDFSDK1.CurPage; FoxitPDFSDKProLib.IPDFPageAnnots annots= axFoxitPDFSDK1.GetPageAnnots(pageIndex);
float posX = 0;
float posY = 0;
//图像宽高
float imgW = 80;
float imgH = 50;
//坐标转换 axFoxitPDFSDK1.ConvertClientCoordToPageCoord(e.clientX,e.clientY, ref pageIndex, ref posX,ref posY);
//在用户点击位置创建图像注释
FoxitPDFSDKProLib.IPDFAnnot annot= annots.AddAnnot(null, "Image", posX-imgW/2, posY - imgH/2, posX +imgW/2, posY+imgH/2); annot.SetMediaPoster("D:\\FoxitLogo.jpg");
}
效果显示如下: