【问题标题】:Is there a way to convert epub format to images?有没有办法将 epub 格式转换为图像?
【发布时间】:2011-11-17 18:26:15
【问题描述】:

我需要一个工具来以编程方式将 epub 文件转换为一系列图像。输出应该看起来像在规范设备(对于此应用程序,iPad)上截取的屏幕截图。我还没有找到任何可以执行此类操作的工具。

所以我真正想要的 (1) 是一个可以做到这一点的工具。但是假设我是正确的,不存在这样的工具,是否有 (2) 一个库(最好是 Perl 模块,但我不是那么挑剔)可以读取和呈现 ePub?

显然,滚动我自己的工具,我可以组合工具来解压缩、读取 html、读取 xml、将所有内容按正确的顺序排列,以及在特定约束下渲染 html。虽然我不想这样做,但如果这是唯一的选择,我将不得不继续寻找能够完成最后一部分的工具,否则我也必须创建它。

(1) 是否有任何线索,或 (2) 失败?

【问题讨论】:

  • EPUB 是 HTML。捕获这是一个已解决的问题:stackoverflow.com/q/7816618#7820994
  • 我认为这个问题更适合 www.perlmonks.com
  • @daxim 谢谢 - 无论如何,这应该解决失败的情况。仍然希望有一个不太通用的解决方案。

标签: perl image language-agnostic epub


【解决方案1】:

抱歉,如果我要输入的内容只是我的疯狂谈话——事实上,我很确定它是——但也许这样的事情可能会奏效,我有兴趣知道它对您的效果如何:

使用 Frank (https://github.com/moredip/Frank) 在 Mac 上控制 iOS 模拟器。对其进行编程以打开您需要的 EPUB 文档。

然后,您所需要的就是自动拍摄屏幕截图。显然,这些看起来就像 EPUB 正在 iPad 中呈现(如果您愿意,也可以在 iPhone 中呈现——当然,iOS 模拟器两者都做)。

自动化屏幕截图可能可以使用 AppleScript 完成,尽管困难的部分可能是让它与 Frank 交谈。最坏的情况是,您可以告诉 Frank 在加载每个页面后暂停 5 秒钟,并告诉 AppleScript 每 5 秒钟截屏一次。这很糟糕,但如果你绝望,它会完成它。弗兰克也有可能以某种方式使屏幕截图发生——我还没有充分了解它。

【讨论】:

  • 还没试过,但这是迄今为止最接近的答案,所以赏金给你
【解决方案2】:

Pandoc 可以从 EPub 转换为 LaTeX(因此转换为 PDF)或任何数量的其他格式。从概念上讲,这应该是类型 (1) 的解决方案。

【讨论】:

  • 看起来 Pandoc 编写了 EPub 但不读取它。不过,如果我想用一些 Haskell 弄脏我的手,这可能是朝着正确方向迈出的一步。
  • 嗯,那太糟糕了,我想我看错了那里的页面。哦,好吧。
【解决方案3】:

取决于你对“看起来像”的定义——你想要给定屏幕尺寸的 user-chrome 还是 epub 渲染。

我会为您选择的平台检查各种 epub 阅读器,将窗口调整为您喜欢的尺寸,然后将 epub“打印”到输出图像文件的虚拟打印机 - 在 windows 上我使用 imageprint。

您可以轻松地从 iPad 产品照片中制作一个“框架”并将您的屏幕截图放在其中 - 唯一缺少的就是我所说的用户 chrome。

【讨论】:

    猜你喜欢
    • 2012-05-03
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 2010-11-05
    • 2019-08-22
    • 2022-07-06
    • 2018-10-25
    • 2017-08-11
    相关资源
    最近更新 更多