PDF.JS 如何取得鼠标点击的PDF文档坐标

ysjydss 2021-05-01 05:34:09
用PDF.js 浏览pdf文件,目前有个需求:需要用鼠标点击pdf的位置,在所点击的位置那,插入一个图片。后台用的是itextpdf,插入图片功能已经做好。现在的问题:就是如何在前台,把鼠标点击的pdf文档位置取出来,注意:是鼠标点击pdf文档的位置,不是鼠标点击元素的位置!现在网上所有的资料都是鼠标点击元素的位置。我截了个图,请各路大神帮忙啊
...全文
3982 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_18292135 2022-12-12
  • 打赏
  • 举报
回复

大佬可以分享下吗 yangxiaonanz@qq.com

系统商研社 2021-11-09
  • 打赏
  • 举报
回复

大咖 能分享一下吗 281773404@qq.com mailto:281773404@qq.com 感谢!

ysjydss 2021-05-10
  • 打赏
  • 举报
回复
感谢各位的帮助,虽然没有直接给出计算方法,但是还是给了我不少思路,又参考了几篇文章,总算解决了这个问题。为了给大家一个思路,我把我解决的办法简单的说一下,然后结贴了。
csdn20210802 2022-05-09
  • 举报
回复
@ysjydss 这个是怎么打印出来的,什么方法,是需要后端itextpdf配合吗,还是直接一个在线的pdf就可以啊
sdfr;o 2022-05-13
  • 举报
回复
@ysjydss 遇到同样的需求,大神能具体分享一下方法吗
assky124 2021-05-07
  • 打赏
  • 举报
回复
dpi 不一样,PDF 72,Window默认的是96 坐标系要转换,PDF 是第一象限,一般绘图的是在第四象限
highreport 2021-05-06
  • 打赏
  • 举报
回复
引用 11 楼 ysjydss 的回复:
[quote=引用 10 楼 highreport 的回复:]网页坐标和pdf坐标是不一样,存在转换关系
感謝,能详细说说吗?[/quote] 单击网页上,某个位置,是可以计算出 鼠标的位置(x,y) 然后根据x,y 折算出pdf中的位置坐标
ysjydss 2021-05-06
  • 打赏
  • 举报
回复
引用 10 楼 highreport 的回复:
网页坐标和pdf坐标是不一样,存在转换关系
感謝,能详细说说吗?
ysjydss 2021-05-04
  • 打赏
  • 举报
回复
有大神吗?有能明白在网页里,取pdf里坐标 体系的吗?
highreport 2021-05-04
  • 打赏
  • 举报
回复
网页坐标和pdf坐标是不一样,存在转换关系
泡泡鱼_ 2021-05-02
  • 打赏
  • 举报
回复
补充一下:容器的边距,因为有可能操作的时候,用户可能随时改变窗口尺寸,所以这个值你需要实时获取,具体的你参考后端的业务逻辑需要去处理。
泡泡鱼_ 2021-05-02
  • 打赏
  • 举报
回复
[/quote]我截了几个图,在帮忙看看,怎么能计算出来[/quote] 首先,确定一下,你是可以得到鼠标在页面中的点击位置的,对吧? 其次,原点的位置,你只需要获取插入渲染后pdf内容的那个容器的左边距即可,不用去分什么全屏不全屏 计算:你只需要将获取到的鼠标在页面中的点击位置+scrollTop就是你要的位置了吧?至于边界判断,只需要减去前面获取到的容器左边距,>0即为有效。如果要考虑右边界,一样处理
ysjydss 2021-05-02
  • 打赏
  • 举报
回复
引用 1 楼 泡泡鱼_ 的回复:
[quote=引用 楼主 ysjydss 的回复:] 用PDF.js 浏览pdf文件,目前有个需求:需要用鼠标点击pdf的位置,在所点击的位置那,插入一个图片。后台用的是itextpdf,插入图片功能已经做好。现在的问题:就是如何在前台,把鼠标点击的pdf文档位置取出来,注意:是鼠标点击pdf文档的位置,不是鼠标点击元素的位置!现在网上所有的资料都是鼠标点击元素的位置。我截了个图,请各路大神帮忙啊
你取得元素中的位置,加上当前滚动位置,不能计算出真实位置吗? [/quote]我截了几个图,在帮忙看看,怎么能计算出来
ysjydss 2021-05-02
  • 打赏
  • 举报
回复
ysjydss 2021-05-02
  • 打赏
  • 举报
回复
看来还是没说明白,我截了几个图,请大家帮忙 这两张是取鼠标点击元素时的坐标, 怎么能计算出来 itextpdf所需要的坐标呢?
泡泡鱼_ 2021-05-02
  • 打赏
  • 举报
回复
引用 7 楼 ysjydss 的回复:
[quote=引用 6 楼 泡泡鱼_ 的回复:]补充一下:容器的边距,因为有可能操作的时候,用户可能随时改变窗口尺寸,所以这个值你需要实时获取,具体的你参考后端的业务逻辑需要去处理。
不是這回事,在itextpdf中的坐标体系和网页的坐标体系不一样,这个例子是A4纸 按你说法还能计算 但是 如果是一张很大图纸,A1 A2的纸张,在IFrame里 都显示不下,这时候就无法计算了。现在是想是通过pdf.js这个插件来取得鼠标点击位置的PDF坐标体系。网页里坐标体系不能用于itextpdf中[/quote] 尺寸很大的时候,可是使用水平滚动条去实现全尺寸显示?如果是,为什么不能计算?就是额外加多个scrollLeft?? 至于你说的使用pdf.js内置的方法实现。不好意思,我没用过,也没研究过。帮不了你。你可以看下最完整的文档,看看是否有?
ysjydss 2021-05-02
  • 打赏
  • 举报
回复
引用 6 楼 泡泡鱼_ 的回复:
补充一下:容器的边距,因为有可能操作的时候,用户可能随时改变窗口尺寸,所以这个值你需要实时获取,具体的你参考后端的业务逻辑需要去处理。
不是這回事,在itextpdf中的坐标体系和网页的坐标体系不一样,这个例子是A4纸 按你说法还能计算 但是 如果是一张很大图纸,A1 A2的纸张,在IFrame里 都显示不下,这时候就无法计算了。现在是想是通过pdf.js这个插件来取得鼠标点击位置的PDF坐标体系。网页里坐标体系不能用于itextpdf中
泡泡鱼_ 2021-05-01
  • 打赏
  • 举报
回复
引用 楼主 ysjydss 的回复:
用PDF.js 浏览pdf文件,目前有个需求:需要用鼠标点击pdf的位置,在所点击的位置那,插入一个图片。后台用的是itextpdf,插入图片功能已经做好。现在的问题:就是如何在前台,把鼠标点击的pdf文档位置取出来,注意:是鼠标点击pdf文档的位置,不是鼠标点击元素的位置!现在网上所有的资料都是鼠标点击元素的位置。我截了个图,请各路大神帮忙啊
你取得元素中的位置,加上当前滚动位置,不能计算出真实位置吗?

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧