F9y4ng / GreasyFork-Scripts

The open source code of this project is used for userscripts (油猴脚本) for desktop browsers, including Font Rendering (Customized) (字体渲染(自用脚本)- Font Rendering.user.js), and Search Engine Assistant (优雅的搜索引擎助手 - Google & Baidu Switcher.user.js), etc.
https://f9y4ng.github.io/GreasyFork-Scripts/
GNU General Public License v3.0
947 stars 46 forks source link

[发现错误] 网页内嵌PDF重影问题 #239

Closed CescMessi closed 1 year ago

CescMessi commented 1 year ago

1. 准备工作(确认预先完成的操作)

2. 描述错误信息(清楚而简洁地描述错误)

之前 #145 提到飞书云文档中的pdf存在重影问题,但是似乎后面没有处理。我发现在其他一些存在网页内嵌PDF的网站上也同样存在该问题,看上去这个重影是在原来字体的下面加了一个黑体,一些非黑体的pdf显示重影就比较明显,和黑体接近大小的重影就不明显。

3. 错误再现(重现行为步骤,直至复现您遇到的问题)

复现该问题的网址

  1. 复旦官网1 复旦官网2 ,1的重影比较轻,2的比较严重,看上去和字体有关。
  2. 小雅alist,第一页的重影比较轻,放大了才比较明显,第二页的表格处可以明显看到英文的重影。
  3. Seafile,这个可以点击试用上传一个PDF观察效果。
  4. researchgate,这个网站比较特殊,在未登录的情况下,PDF中的字体会被正常替换成黑体,没有重影问题,但是登录了之后就会出现和上面两个网站同样的问题。

4. 屏幕截图(如有屏幕截图,请添加以帮助解释您的问题)

复旦官网1开启脚本: image 复旦官网1关闭脚本: image 复旦官网2开启脚本: image 复旦官网2关闭脚本: image 小雅alist开启脚本: image 小雅alist关闭脚本: image seafile开启脚本: image seafile关闭脚本: image researchgate登录开启脚本: image researchgate登录关闭脚本: image researchgate未登录开启脚本: image researchgate未登录关闭脚本: image

5. 预期结果(清晰明了地描述您所期待想要什么样的结果)

PDF文字不存在重影

6. 客户端信息(请在冒号后认真填写您的本地信息)

7. 脚本运行环境排查 (请确认环境条件并填写相关信息)

8. 附加信息(在此处添加您认为有用的其他信息)

F9y4ng commented 1 year ago

145 没有账户登录去看到实际问题,神仙也救不了。

注意事项

很多反馈的问题所在的站点都需要账户登录才能访问,没有提供测试账户就意味着无法看到实际情况,于是就没有解决办法。

你提到的问题

  1. 复旦大学相关:在排除渲染的HTML标签中追加,.textLayer *,保存为站点数据独享。
  2. 小雅alist(iframe框架页):需访问https://alist-org.github.io/pdf.js/web/viewer.html?file=..., 页面加载完成后,在排除渲染的HTML标签中追加,.textLayer *,保存为站点数据独享。
  3. Seafile,提供测试账户。
  4. researchgate,提供测试账户。
CescMessi commented 1 year ago

145 没有账户登录去看到实际问题,神仙也救不了。

注意事项

很多反馈的问题所在的站点都需要账户登录才能访问,没有提供测试账户就意味着无法看到实际情况,于是就没有解决办法。

你提到的问题

  1. 复旦大学相关:在排除渲染的HTML标签中追加,.textLayer *,保存为站点数据独享。
  2. 小雅alist(iframe框架页):需访问https://alist-org.github.io/pdf.js/web/viewer.html?file=..., 页面加载完成后,在排除渲染的HTML标签中追加,.textLayer *,保存为站点数据独享。
  3. Seafile,提供测试账户。
  4. researchgate,提供测试账户。

感谢,seafile使用,.textLayer *同样可以修复,researchgate需要使用,.react-pdf__Page__textContent *。目前还有个小问题是,选中文字时还是会出现重影的文字: image

F9y4ng commented 1 year ago

处理选取文字几乎与处理Github代码选取一样非常棘手和麻烦,虽然可以勉强得到预期效果,但繁琐极度的繁琐。为了替换原站点使用的内联样式,必须使用自定义等宽字体强制覆盖,但不建议这样做。

weavers1f commented 1 month ago

我刚在公司的内网OA上也有同样的PDF渲染问题,来找找看发现上面老大的答案中,这个“小雅alist(iframe框架页)”的感觉就跟我这个情况一样,然后试了下在排除渲染的HTML标签中追加,.textLayer *,保存为站点数据独享,解决问题了 VeryCapture_20240809143941

weavers1f commented 1 month ago

添加后的渲染效果 VeryCapture_20240809144650