Command line 从7zip压缩算法获得最大压缩

Command line 从7zip压缩算法获得最大压缩,command-line,compression,7zip,lzma,Command Line,Compression,7zip,Lzma,我正在尝试压缩我的一些大型文档文件。但大多数文件的压缩率最多只有10%。我正在使用7zip终端命令 7z a filename.7z-m0=LZMA-mx=9-mmt=on-aoa-mfb=64 filename.pptx 任何关于改变参数的建议。我需要至少30%的压缩比。.pptx文件或.docx文件是内部.zip存档文件。您不能期望对已经压缩的文件进行大量压缩 文档状态lzma2可以更好地处理无法压缩的数据,因此您可以尝试使用 7z a -m0=lzma2 -mx filename.7z f

我正在尝试压缩我的一些大型文档文件。但大多数文件的压缩率最多只有10%。我正在使用7zip终端命令

7z a filename.7z-m0=LZMA-mx=9-mmt=on-aoa-mfb=64 filename.pptx


任何关于改变参数的建议。我需要至少30%的压缩比。

.pptx
文件或
.docx
文件是内部
.zip
存档文件。您不能期望对已经压缩的文件进行大量压缩

文档状态
lzma2
可以更好地处理无法压缩的数据,因此您可以尝试使用

7z a -m0=lzma2 -mx filename.7z filename.pptx
但要求的30%几乎是遥不可及的

如果您真的需要压缩,您可以利用pptx只是一个奇特的zip文件这一事实:

解压缩pptx,然后用7zip压缩它。要恢复等效(但不完全相同)的pptx,请使用7zip解压缩并使用zip重新压缩

可能存在一些复杂情况,例如,使用epub时,必须将某个文件作为存档中的第一个文件以未压缩的方式存储在距开始位置一定的偏移量处。我不熟悉pptx,但它可能有类似的要求

我认为,文件大小的小幅度缩减不太可能值得费心,但这是我能想到的唯一方法



根据pptx的大小,您还可以尝试压缩包含的文件。例如,通过使用更好的压缩器重新压缩png文件,剥离不必要的数据(例如元数据或更改历史记录),或对jpeg文件应用具有较低质量设置的有损压缩。

好的,最好使用最大压缩

  • 使用-m0(storage=NoCompression)重新压缩这些.zip归档文件(docx、.pptx、jar…),然后
  • 在其上应用lzma2
  • LZMA2是微不足道的-但是,如果文件包含许多JPG考虑给开源包装器或更多指定<强> PAQ8O < /强>尝试。Paq8有一个内置的Jpeg压缩程序,支持范围压缩。因此,它还将与jpg的其他文件一起提供。与此相反,Winzip的zipx将需要纯jpg文件,在这种情况下是无用的

    但是,为了使PAQ有效地工作/压缩目标文件,您需要将压缩设置为空,将其转换为未压缩的压缩

    PAQ可能有点异国情调,但在我看来,它比zipx更诚实、更清晰。PAQ是不受支持的,所以像往常一样,用谷歌搜索你不知道的东西是个好主意,你会发现一些东西。
    相比之下,Zipx可能看起来有点有趣,因为它看起来像一个普通的zip,文件在Winrar或7zip中正确列出,但是当您想要提取jpg时,它将失败,因此如果用户没有经验,它可能看起来像是zip损坏了。到目前为止,只有winzip或(unar.exe)可以正确处理zipx,这将更难发现。如果有很多PPTX、XLSX和DOCX文件,它们确实可以有效压缩。通过将它们解压到各自的目录中,架构师可以发现它们之间的共性,消除样板XML以及它们之间的任何公共文本的重复

    如果必须使用ZIP格式,请首先创建一个包含所有文件的零压缩“存储”存档,然后将其压缩。这是必要的,因为ZIP存档中的每个文件都是从头开始压缩的,而不会利用不同文件之间的冗余


    通过利用样板重复数据消除,30%应该是小菜一碟。

    谢谢你,但大小没有任何差别。哪些文档?@Hashim,不确定是否有其他系统,但在windows中,7Zip下载中包含
    .chm
    文件。在该文件中,在
    LZMA2
    配置的命令行
    -m(设置压缩方法)
    下,当列举LZMA2优于LZMA的优点时,说明:“数据的压缩比优于无法压缩的数据”