3

大きなドキュメント ファイルの一部を圧縮しようとしています。しかし、ほとんどのファイルは最大 10% しか圧縮されていません。7zip ターミナル コマンドを使用しています。

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

パラメータの変更に関する提案。少なくとも 30% の圧縮率が必要です。

4

4 に答える 4

7

.pptxファイルまたは.docxファイルは内部.zipアーカイブです。既に圧縮されたファイルに対して多くの圧縮を期待することはできません。

ドキュメンテーションはlzma2、圧縮できないより良いデータを処理すると述べているので、試してみることができます

7z a -m0=lzma2 -mx filename.7z filename.pptx

しかし、必要な 30% にはほとんど到達できません。

于 2015-03-16T12:17:42.097 に答える
2

まあ、最大圧縮のアイデアは

  1. -m0 (保存 = NoCompression) を使用して、これらの .zip アーカイブ (.docx、.pptx、jar...) を「再圧縮」し、次に
  2. それらにlzma2を適用します

lzma2 はささいなことですが、ファイルに多数の jpg が含まれている場合は、オープンソース パッカーpeazipを使用するか、 paq8oを指定してみてください。Paq8 には JPEG コンプレッサーが組み込まれており、範囲圧縮をサポートしています。したがって、他のファイル内にあるjpgも一緒に表示されます。これとは対照的に、 Winzip のzipxは純粋な jpg ファイルを必要とし、この場合は役に立ちません。

ただし、PAQ を効果的に機能させ、ターゲット ファイルを圧縮するには、zip/deflate 圧縮を「無効」にし、圧縮されていない zip に変換する必要があります。

PAQ はおそらく少しエキゾチックですが、私の目には zipx よりも正直で明確です。PAQ はサポートされていないので、持っていない/知らないものをググってみることをお勧めします。そうすれば何かが見つかります。対照的に、Zipx は通常の zip のように見え、Winrar または 7zip にファイルが適切にリストされているため、少し興味をそそられるように見えるかもしれませんが、jpg を抽出したい場合は失敗するため、経験のないユーザーは zip が破損しているように見える場合があります。これまでのところ winzip またはThe Unarchiver (unar.exe) だけが適切に処理できるzipx であることを見つけるのははるかに困難です。

于 2015-12-07T09:39:54.657 に答える
1

PPTX、XLSX、および DOCX ファイルが多数ある場合、実際に効果的に圧縮できます。それらをそれぞれのディレクトリに解凍することにより、アーカイバはそれらの間の共通点を見つけ、ボイラープレート XML とそれらの間の共通テキストを重複排除できます。

ZIP 形式を使用する必要がある場合は、最初にそれらすべてを含むゼロ圧縮の「ストア」アーカイブを作成し、次にそれを ZIP します。ZIP アーカイブ内の各ファイルは、異なるファイル間の冗長性を利用せずに最初から圧縮されるため、これが必要です。

定型的な重複排除を利用することで、30% は簡単に解決できるはずです。

于 2016-03-22T05:20:13.870 に答える