我正在尝试压缩一些大型文档文件。但是大多数文件的压缩率最多只有10%。我正在使用7zip终端命令。
7z a filename.7z -m0=LZMA -mx=9 -mmt=on -aoa -mfb=64 filename.pptx
有关更改参数的任何建议。我需要至少30%的压缩率。
答案 0 :(得分:6)
.pptx
个文件或.docx
个文件是内部.zip
个档案。您不能指望在已经压缩的文件上进行大量压缩。
文档状态lzma2
处理无法压缩的更好数据,因此您可以尝试使用
7z a -m0=lzma2 -mx filename.7z filename.pptx
但所需的30%几乎无法到达。
答案 1 :(得分:4)
如果真的需要压缩,你可以使用pptx只是一个花哨的zip文件的事实:
解压缩pptx,然后用7zip压缩它。使用7zip恢复等效(但不完全相同)的pptx解压缩并使用zip重新压缩。
可能存在一些复杂情况,例如对于epub,某个文件必须以未压缩的形式存储在存档中的第一个文件中,距离开头一定的偏移量。我对pptx并不熟悉,但可能有类似的要求。
我认为文件大小的小幅减少不太可能是值得的,但这是我能想到的唯一方法。
根据负责pptx大小的内容,您还可以尝试压缩包含的文件。例如,通过使用更好的压缩器重新压缩png文件,剥离不必要的数据(例如元数据或更改历史记录)或使用较低质量设置的jpeg文件应用有损压缩。
答案 2 :(得分:2)
最大压缩的想法是
lzma2非常好 - 但是如果该文件包含许多jpg,请考虑给开源包装工peazip或更多指定 paq8o 。 Paq8内置Jpeg压缩器,支持范围压缩。所以它也会出现在其他文件中的jpg。 Winzip的 zipx 与此相反,需要纯jpg文件,在这种情况下无用。
但是,为了让PAQ有效地工作/压缩您的目标文件,您需要“无效”'拉链/收缩压缩,将其变成未压缩的拉链。
PAQ可能有点奇特,但它在我眼中比zipx更诚实和清晰。 PAQ是不受支持的,所以只要谷歌知道没有/知道的东西总是一个好主意,你会发现一些东西。 相比之下,Zipx可能看起来有点神奇,因为它看起来像普通的拉链,文件在Winrar或7zip中正确列出但是当你想提取jpg时它会失败,所以如果用户没有经验,它可能看起来像zip已损坏。要发现这是一个zipx到目前为止只有winzip或The Unarchiver(unar.exe)才能正常处理它会更加困难。
答案 3 :(得分:0)
如果有很多PPTX,XLSX和DOCX文件,确实可以有效地进行压缩。通过将每个目录解压缩到它们的目录中,归档程序可以找到它们之间的共性,重复删除样板XML以及它们之间的任何常见文本。
如果您必须使用ZIP格式,请首先创建一个包含所有这些的零压缩“商店”存档,然后将其压缩。这是必要的,因为ZIP存档中的每个文件都是从头开始压缩而不利用不同文件中的冗余。
通过利用样板重复数据删除,30%应该是小菜一碟。