在 Ranger 预览的 cli 上将 html 文件转为图片

在 Ranger 预览的 cli 上将 html 文件转为图片

我想预览 html 文件护林员与图片类似,如何预览 pdf 文件。我想首先需要将其强制转换为 A4 页面或类似的内容,因此它是打开它时屏幕上显示的内容的预览。我可能可以设置一个 html -> pdf -> picture 的管道,但我希望有一个工具可以直接执行此操作(这样可以减少两次转换的开销)。有人知道这样的事情,或者有一个优雅的解决方案吗?

答案1

引用文档关于图像预览:

在 Ranger 的最新版本中,图像预览的机制得到了扩展和通用化。调用scope.sh时,ranger会设置$cached环境变量,其中包含一个文件的唯一路径,如果需要,可以在该文件中生成图像预览。然后,scope.sh 可以将图像保存到该路径并以退出代码 6 退出(记录在scope.sh 中,请参阅顶部的注释)以告诉 ranger 使用它。

换句话说,如果您可以从文件生成 jpg,ranger 就可以显示它的图形预览。视频、PDF、各种文件。

所以,编辑你的~/.config/ranger/scope.sh;添加一个handle_image函数的情况

  case "${mimetype}" in
    text/html)
        wkhtmltoimage -f png "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6

您当然必须安装wkhtmltoimage(通常位于名为 的包中wkhtmltopdf)。

不过还没有尝试过这个。可能需要删除-f png,或者如果不起作用则更-f png改为。-f jpeg

如果这确实有效:做一个酷公民,github 上的 ranger,编辑 ranger/data/scope.sh 模板以包含您的添加内容,然后针对上游 ranger 打开拉取请求,以便其他人也获得您的 HTML 预览器! (虽然我的代码不够复杂,不足以真正保证需要这个:你有完全的权利做搞什么鬼你想要这个答案中的代码)

相关内容