PDFを圧縮する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

によって チャクニット・ビン

PDF圧縮とは、PDFファイルのサイズを縮小するプロセスを指します。(ポータブルドキュメントフォーマット)ドキュメント。 この圧縮は、特に大きなドキュメントや画像が多いドキュメントを扱う場合に、PDFファイルの保存、共有、および送信をより管理しやすくするために適用されます。

画像は通常、テキストやその他のコンテンツに比べてサイズが大きいため、PDFファイルサイズの大部分を占めることが多いです。 IronPdfはPDF圧縮機能を提供しており、埋め込まれた画像を圧縮し、PDFの表データにありがちなツリー構造を減らします。

IronPDFを始めましょう

今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer



画像圧縮の例

JPEG のリサイズの仕組みにおいて、100% の品質はほとんど劣化がなく、1% は非常に低品質な出力画像となります。

  • 90%以上: 高品質と見なされます
  • 80%-90%:中品質と見なされます
  • 70%-80%:低品質と見なされる

    様々な値を自由に試して、品質とファイルサイズのトレードオフを理解してください。入力画像の種類に基づいて品質低下の程度が異なるため、特定の画像では他の画像よりも目立つクオリティ低下が起こる可能性があることに留意してください。

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-image.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Compress images in the PDF
pdf.CompressImages(40);

pdf.SaveAs("compressed.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Compress images in the PDF
pdf.CompressImages(40)

pdf.SaveAs("compressed.pdf")
VB   C#

画像の圧縮 - サイズ比較

39.24% 削減!!

画像を圧縮 - サイズ比較

画像圧縮オプションの理解

それでは、画像圧縮オプションの詳細について詳しく見ていきましょう。

ShrinkImage: この機能は、PDFドキュメント内の表示サイズに基づいて画像の解像度を縮小します。 その結果、画像のサイズと品質が大幅に削減され、効率的なストレージと伝送のために最適化されます。

HighQualitySubsampling:この設定は、画像圧縮に使用されるクロマサブサンプリング方法を決定します。 「True」を選択すると、4:4:4クロマサブサンプリングが利用され、フルカラーの詳細を伴う高品質な画像が確保されます。 逆に、「False」を選択すると、4:1:1クロマサブサンプリングが使用され、いくらかのカラー詳細が犠牲になりつつも画像サイズがさらに縮小されます。

クロマサブサンプリングは、デジタル画像圧縮において重要な技術であり、画像の視覚的な品質を維持しながら、それを表現するために必要なデータを削減することを目的としています。 色情報の解像度を選択的に低減することによってこれを実現します。(クロミナンス)輝度情報の完全な解像度を維持しながら(輝度).

「4:4:4」クロマサブサンプリングでは、各ピクセルが独自の色情報を保持するため、色詳細の損失がありません。 逆に、「4:1:1」のクロマサブサンプリングでは、色情報が低解像度でサンプリングされるため、色の詳細が減りますが、ファイルサイズも同時に小さくなります。


ツリー構造の圧縮例

この機能は、Chromeエンジンによって生成されたツリー構造を最小化することによって、PDFのサイズを減らすために使用されます。これは、膨大なテーブルデータを含むHTMLからChromeエンジンによって生成されたPDFに対してうまく機能します。 一部のPDFレンダリングエンジンでは、このツリー構造なしにPDFを出力することがあり、そのためこの機能が効果的でない場合があります。

これらのツリーストラクチャをすべて削除する欠点は、いくつかのPDFでは、テキストのハイライトや抽出が効果的に機能しない場合があることです。

使ってみましょう CompressStructTreeメソッドをテストするためのテーブルデータを含むPDF.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-tree-structure.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("table.pdf");

// Compress tree structure in PDF
pdf.CompressStructTree();

pdf.SaveAs("compressedTable.pdf");
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("table.pdf")

' Compress tree structure in PDF
pdf.CompressStructTree()

pdf.SaveAs("compressedTable.pdf")
VB   C#

ツリー構造の圧縮 - サイズ比較

67.90%削減!! このパーセンテージは、テーブルPDFが大きくなるほど高くなります。

ツリー構造の圧縮 - サイズ比較

高度な圧縮方法

IronPDFには、画像圧縮とツリー構造圧縮の両方を構成できるCompressメソッドもあり、ドキュメントの圧縮がこれまで以上に簡単になります。

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-compress.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

CompressionOptions compressionOptions = new CompressionOptions();

// Configure image compression
compressionOptions.CompressImages = true;
compressionOptions.JpegQuality = 80;
compressionOptions.HighQualityImageSubsampling = true;
compressionOptions.ShrinkImages = true;

// Configure tree structure compression
compressionOptions.RemoveStructureTree = true;

pdf.Compress(compressionOptions);

pdf.SaveAs("compressed.pdf");
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

Private compressionOptions As New CompressionOptions()

' Configure image compression
compressionOptions.CompressImages = True
compressionOptions.JpegQuality = 80
compressionOptions.HighQualityImageSubsampling = True
compressionOptions.ShrinkImages = True

' Configure tree structure compression
compressionOptions.RemoveStructureTree = True

pdf.Compress(compressionOptions)

pdf.SaveAs("compressed.pdf")
VB   C#

利用可能なオプションを調べる

  • CompressImages:ドキュメント内の既存の画像がJPGエンコーディングを使用して圧縮されるかどうかを制御します。 デフォルトではfalse(偽)です。
  • RemoveStructureTree: 構造ツリーを削除することで、ドキュメントが使用するディスクスペースを大幅に削減できます。 しかし、特に複雑な文書においてテキスト選択に悪影響を与える可能性があります。
  • JpegQuality: JPEG品質を指定します(1から100まで)画像圧縮時に使用される。 デフォルト値は42です。
  • HighQualityImageSubsampling: このプロパティは、より高い画像品質のために444色度サブサンプリングを使用するかどうかを決定します。(True)画像サイズをさらに縮小するために、4:1:1クロマサブサンプリングを使用します。(偽).
  • ShrinkImages: 画像の解像度を縮小することで、ドキュメント内の画像のサイズと品質を大幅に低下させることができます。
Chaknith related to 利用可能なオプションを調べる

チャクニット・ビン

ソフトウェアエンジニア

チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。