KindleStrip:大幅精简压缩 mobi 文件体积

延伸阅读

给这篇文章写一条留言

提示:带 * 标记的是必填项。您填写的邮箱地址将会被保密。首次留言将会在通过人工审核后显示。如果是提出问题,请务必提供尽可能多信息,这有助于他人更好地理解你所提出的问题。

小伙伴们写下了 34 条留言

  1. 你好,我使用的Kindlestrip无论是代码版,批量版还是执行程序都不行。
    错误代码:执行程序:Error:File doesn’t contain the sources section.
    批量版:一闪而过,疑似与代码版相同
    代码版:C:\Users\Henry\Desktop\kindlestrip-1.36.1>kindlestrip.py 1.mobi 2.mobi
    File “C:\Users\Henry\Desktop\kindlestrip-1.36.1\kindlestrip.py”, line 70
    print “Warning: pathof expects utf-8 encoded byestring: “, s
    ^
    SyntaxError: Missing parentheses in call to ‘print’. Did you mean print(“Warning
    : pathof expects utf-8 encoded byestring: “, s)? 能不能帮帮忙?

    • 错误提示“File doesn’t contain the sources section.”,说明你要处理的电子书不包含源文件,所以不需要处理。

      错误提示“SyntaxError: Missing parentheses in call to ‘print’.”,说明你在用 Python 3 执行 Python 2 的代码,你可以下载一个 Python 2.7 来执行,或者把代码中的所有 print 语句都加上括号,如 print 'xxx' 改成 print('xxx')

  2. 打包成一键执行程序了,无需安装python,有需要的小伙伴自行下载~

    https://lansous.lanzouo.com/icoRNxb1csf

    链接:https://pan.baidu.com/s/1-pw63il0oc8p6C3k4ZTPyQ
    提取码:9999

    • 为什么显示 ‘kindlestrip.exe’ 不是内部或外部命令,也不是可运行的程序
      或批处理文件。 啊?
      我是小白就先 用cd定位了一下 然后按要求输入 然后就不管用, 楼主原版的也是这个样子

      • 如果你使用的是层主提供的程序,不需要手动打开命令提示符,只需要把要精简的电子书文件拷贝到“_input”文件夹,然后双击“开始精简.bat”那个文件就可以了,精简后的文件会自动放入“_output”文件夹中。

  3. 你好,我用 KindleUnpack 拆解了以后发现有一个kindlegensrc.zip的文件,但是使用脚本又不能输出新文件,运行完命令提示:
    SRCS section number is: 2921
    SRCS section count is: 4
    SRCS length is: 0x1d22a9c
    Error: SRCS section num does not point to SRCS.

    • 这可能是电子书自身的问题。对于标准的带有源文件的电子书文件,会包含一个名为 SRCS 的记录,如果 KindeStrip 没有检测到这个记录,就会出现你所看到的错误提示。

      解决方法有两种:

      一种是通过 KindleUnpack 把电子书拆解为源文件,再用带有不附加源码选项的 KindleGen 命令将源文件重新转换成 MOBI 格式:

      indlegen content.opf -dont_append_source

      另一种是修改 KindeStrip 的源码,让其忽略该错误,即将脚本文件 kindlestipt.py 的下面这两行注释掉:

      if self.datain[self.srcs_offset:self.srcs_offset+4] != 'SRCS':
          raise StripException("SRCS section num does not point to SRCS.")

      这种方法通过测试你发过来的电子书未发现异常。但是,如果出问题的电子书是个例,建议不要使用这种方法,因为不知道去掉脚本中的这个条件会不会影响对确实有问题电子书的辨别。

  4. 你好,我运行了kindlestrip之后,提示以下信息:
    SRCS section number is: 11131
    SRCS section count is: 1
    SRCS length is: 0xe58
    Error: SRCS section num does not point to SRCS.
    这是为什么?我是想把一本电子书精简以下体积,是不可以吗?还是其他什么原因呢?

  5. 请问这脚本是不是针对chainlp制作的mobi的?
    我用kindle comic conventer将epub转换成mobi,然后用这个脚本并不能压缩文件大小。
    盼复!

    • Kindle Comic Conventer 和 ChainLP 这两个漫画转换软件都考虑到了剔除源文件的问题,所以不需要进行额外操作。

      • 你好,我用kcc制作的epub只有200多m,用kindle preview转换成的mobi足足有500多m,应该是有冗杂部分吧?

  6. 批处理有个小问题,书名里有空格就处理不了。加上引号应该就搞定了

    ..\kindlestrip_v136.py “%%i” “..\result\%%i”

  7. SRCS section number is: 777
    SRCS section count is: 1
    SRCS length is: 0x894
    Error: SRCS section num does not point to SRCS.

    请问出现这个是什么意思?result文件夹也没有东西。是不需要处理吗?

    • 需要用chainlp制作的漫画才能使用KindleStrip.py精简,我用Kindle Comic Converter制作的漫画试过也是会提示这个

  8. 用chainlp做了一本漫画,结束时提示kindlestrip.py错误,结果mobi有900M大小,用batch.bat处理显示memory error.
    发现无论是用chainlp,还是kcc制作漫画时,只要文件过大,就会出现strip这个脚本不可用的情况,然后自己用strip这个脚本也会显示错误。文件名和路径都符合要求。
    我安装的是python2.7.3

    • 漫画通常无法再压缩的哦 就好象你一堆图片 无论使用zip还是rar 文件尺寸并不会有太大差别.

  9. 1. 安装Kindle Comic Creator ,安装目录下的KC2文件夹内有一个striptool.exe文件。使用Kindle Comic Creator 制作的约340M的漫画测试,将其拖到striptool.exe上,用striptool.exe打开,即可获得含有嵌入的源文件和一个文件名相同的170M左右的mobi文件。
    2. 尝试上述功能时,电脑上下载了kindlestrip_v136.py,但是安装的时Python 3,不确定直接使用striptool的时候,Python是否是必要的。
    3. 使用Kindle Comic Convertor制作的40M左右的漫画测试,拖放到striptool.exe上面,没有生成相应的文件夹,可能 Converter制作的漫画中不含源文件

    • 这里https://github.com/jefftriplett/kindlestrip/issues/2 ,有大佬提供了支持python3的kindlestrip_py3.py,到这里https://github.com/jefftriplett/kindlestrip/blob/3f954d6f0a291346f39184c6e7d20e24f689e4de/kindlestrip_py3.py,复制所有源代码,保存为*.py即可

  10. 单独strip,提示:
    print “Warning: pathof expects utf-8 encoded byestring: “, s
    SyntaxError: Missing parentheses in call to ‘print’
    又是什么意思?

  11. 下载并安装了 Python,运行 batch.bat 批处理文件结果result 文件夹中什么都没有,反复几次在c盘、桌面都没用。求解!