【问题标题】:Generating epub from xml2rfc programmatically以编程方式从 xml2rfc 生成 epub
【发布时间】:2015-11-30 13:51:13
【问题描述】:

我正在使用xml2rfcNetJSON 编写RFC,我发现可以通过在线服务xml2rfc.ietf.org 以epub 格式导出RFC,但我还没有找到简单的方法在不使用在线服务的情况下以编程方式执行此操作。

我使用脚本自动更新网站上链接的 HTML 版本的 RFC 草案,我真的很想为 ePub 版本做同样的事情,目前我没有在网站上链接 epub 版本,因为我必须手动更新它,这很耗时,所以我偶尔会这样做。

在这种情况下有什么工具可以帮助我吗?

【问题讨论】:

    标签: python epub rfc


    【解决方案1】:

    xml2rfc 不支持 epub,webpage 提到

    使用 0.8 版的 ebook-convert 提供对 EPub 的支持。

    使用 wkhtmltopdf、pdf2ps 和/或 GNU enscript 的组合提供 PS 和 RTF 支持。

    您可以尝试EbookLib 之类的库(通过pip 安装),也可以将calibre 作为进程运行。

    更新:其实毕竟是一行命令。

    安装 calibre(在我的例子中是 Ubuntu 15.10):

    sudo apt-get install calibre  
    

    运行命令 (doc)(这是从 epub 到其他格式,但你可以反过来做)

    ebook-convert Metamorphosis-jackson.epub something.pdf
    

    您可以从各种输出格式中进行选择。 (http://manual.calibre-ebook.com/cli/ebook-convert.html#epub-output-options)


    输出:

    1% Converting input to HTML...
    InputFormatPlugin: EPUB Input running
    on /home/<user>/other/xml2rfc/Metamorphosis-jackson.epub
    Found HTML cover OEBPS/front-cover.html
    Parsing all content...
    MediaQuery: Unknown media type "amzn-kf8".
    MediaQuery: Unknown media type "amzn-mobi".
    MediaQuery: Unknown media type "amzn-mobi".
    MediaQuery: Unknown media type "amzn-mobi".
    MediaQuery: Unknown media type "amzn-mobi".
    MediaQuery: Unknown media type "amzn-mobi".
    MediaQuery: Unknown media type "amzn-mobi".
    MediaQuery: Unknown media type "amzn-mobi".
    MediaQuery: Unknown media type "amzn-mobi".
    MediaQuery: Unknown media type "amzn-mobi".
    MediaQuery: Unknown media type "amzn-mobi".
    34% Running transforms on ebook...
    Merging user specified metadata...
    Detecting structure...
            Detected chapter: CHAPTER I
            Detected chapter: CHAPTER II
            Detected chapter: CHAPTER III
    Flattening CSS and remapping font sizes...
    Source base font size is 12.00000pt
    Removing fake margins...
    Cleaning up manifest...
    Trimming unused files from manifest...
    Creating PDF Output...
    67% Running PDF Output plugin
    The cover image has an id != "cover". Renaming to work around bug in Nook Color
    71% Rendered title-page.html
    76% Rendered copyright.html
    81% Rendered table-of-contents.html
    85% Rendered pressbooks-promo.html
    90% Rendered chapter-001-chapter-i.html
    95% Rendered chapter-002-chapter-ii.html
    100% Rendered chapter-003-chapter-iii.html
    Rendered PDF in 0.915601 seconds:
    PDF output written to /home/<user>/other/xml2rfc/something.pdf
    Output saved to   /home/<user>/other/xml2rfc/something.pdf
    

    【讨论】:

    • 谢谢,我正在考虑尝试使用他们的网络服务的脚本来避免重新发明轮子
    • 我明白了。好吧,这取决于您想要的解决方案有多强大。我认为使用 calibre,您只需通过 Python 运行一行命令。 Web 服务可能随时停止工作,实际上这对我来说似乎是一种需要更多工作的方法。
    • 你确定只是单行吗?
    猜你喜欢
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-14
    • 2010-09-06
    • 2018-06-23
    • 2018-08-14
    相关资源
    最近更新 更多