C#でPDFを圧縮する方法

IronPDFを使ってC#でPDFを圧縮する方法

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

IronPDFはC#で強力なPDF圧縮機能を提供し、埋め込み画像の圧縮やPDFのツリー構造の最適化によってファイルサイズを縮小し、品質を維持しながら保存や共有のためにドキュメントをより管理しやすくします。

PDF圧縮は、PDFドキュメントのファイルサイズを縮小し、保存、共有、送信をより管理しやすくします。 HTMLから生成されたPDFでも、既存のPDFファイルでも、圧縮はドキュメントの処理を最適化するために不可欠です。

通常、PDFファイルサイズの大半は画像で占められています。 IronPdfは埋め込み画像のサイズを縮小し、テーブルの多いPDFによく見られるツリー構造を最適化する圧縮機能を提供します。 これらのテクニックは、URLからPDFへの変換HTMLファイルへの変換など、さまざまな方法で作成されたPDFでシームレスに動作します。

クイックスタート: IronPDFでPDFファイルを圧縮する

IronPDFの圧縮ツールを使ってPDFファイルサイズを縮小します。 PdfDocument.FromFileでPDFを読み込み、デフォルトのオプションを使用してCompressメソッドで圧縮を適用し、最適化されたPDFを保存します。 このプロセスにより、品質を維持しながらファイルサイズを大幅に削減できます。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronPDF をインストールします

    PM > Install-Package IronPdf

  2. このコード スニペットをコピーして実行します。

    PdfDocument.FromFile("input.pdf").CompressImages(40).SaveAs("compressed.pdf");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronPDF を使い始めましょう
    arrow pointer


PDF内の画像を圧縮するにはどうすればよいですか?

JPEGの圧縮品質は、1%(非常に低品質)から100%(最小限の損失)までです。 これらのレベルを理解することは、埋め込み画像を含むPDFを扱うときや、フォントやグラフィックを管理する必要があるときに役立ちます。

  • 90%以上:高品質
  • 80%-90%: 中程度の品質
  • 70%~80%: 低品質

品質とファイルサイズのバランスをとるために、さまざまな値を試してください。画質の低下は、入力画像の種類によって異なります。ある画像は、他の画像よりも明瞭度の低下が目立ちます。 これは、Azure Blob Storage からの画像を扱う場合や、カスタム透かしを入れた PDF を作成する場合に特に重要です。

: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");
$vbLabelText   $csharpLabel

画像圧縮にはどのような効果が期待できますか?

39.24%削減されました!

画像圧縮の結果を示す圧縮.pdf(449 KB)と非圧縮.pdf(739 KB)のファイル比較

画像圧縮オプションはどのように機能しますか?

2つの主要な画像圧縮オプション

ShrinkImage:PDF内の可視サイズに基づいて画像の解像度を縮小します。 また、使用目的に応じて完全な画質を必要としない高解像度の画像を最適化することで、ファイルサイズを大幅に削減しています。

HighQualitySubsampling:クロマサブサンプリング方法を決定します。 "True "は、4:4:4サブサンプリングを使用してフルカラーのディテールを表現しています。 "False "は4:1:1サブサンプリングを使用し、ファイルサイズを小さくするために色のディテールを減らしています。

クロマ・サブサンプリングは、輝度解像度を維持しながら色情報の解像度を下げることで、ビジュアル品質を維持しながらデータ要件を削減します。 人間の目は色の変化よりも明るさに敏感なので、このテクニックは写真画像に効果的です。

4:4:4サブサンプリングでは、各ピクセルがフルカラー情報を保持します。 4:1:1サブサンプリングでは、色情報が削減されるため、ファイルサイズが減少しますが、色の詳細も減少します。 品質とファイルサイズの要件に基づいて選択してください。


PDFのツリー構造を圧縮するには?

この機能は、Chrome Engineによって作成されるツリー構造を最小化することで、PDFサイズを縮小します。この機能は、Chrome Engineが生成したPDFのうち、広範な表データを含むものに最も効果的です。 レンダリングエンジンによっては、この構造を持たずにPDFを出力するものもあるため、そのような場合にはこの機能は効果的ではありません。 このテクニックは、複雑なレイアウトを扱うときや、冗長な構造要素を持つ複数のPDFをマージするときに役立ちます。

ツリー構造を削除すると、テキストの強調表示や抽出の効果に影響する可能性があります。 圧縮を適用するとき、特にユーザーが圧縮されたPDFからテキストや画像を取り出す必要がある場合は、このトレードオフを考慮してください。

Test the CompressStructTree method using this PDF with table data.

: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");
$vbLabelText   $csharpLabel

ツリー構造圧縮はどのようなファイル サイズ削減を実現できますか?

67.90%削減しました! より大きなテーブルPDFでこの割合は増加します。

圧縮結果を示す compressedTable.pdf (52 KB) と table.pdf (162 KB) のファイル比較

両方の圧縮方法を一緒に適用するにはどうすればよいですか?

IronPDFのCompressメソッドは画像とツリー構造の圧縮を同時に行います。 このような複合的なアプローチは、画像や構造化データを含む複雑なPDF(図表を含むレポートや、表やグラフィックが埋め込まれた文書など)に対して特に効果的です。

: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");
$vbLabelText   $csharpLabel

どのような圧縮オプションがありますか?

  • CompressImages:JPG エンコーディングを使って既存の画像を圧縮します。 デフォルトはfalseです。 指定された圧縮設定ですべての埋め込み画像を処理します。

  • RemoveStructureTree:構造ツリーを削除することで、ドキュメントサイズを大幅に縮小します。 複雑な文書のテキスト選択に影響を与える可能性があります。 HTMLで生成された、表を含むPDFに最も効果的です。

  • JpegQuality:画像圧縮の JPEG 品質 (1-100) を設定します。 デフォルトは42です。値を高くすると、詳細は保持されますが、ファイルサイズが大きくなります。

  • HighQualityImageSubsampling:より高品質な 4:4:4 サブサンプリング (true) か、より小さなファイル (false) の 4:1:1 を選択します。 色精度の要件によります。

  • ShrinkImages:画像の解像度を縮小してサイズを大幅に縮小します。表示要件を超える高解像度の画像に効果的です。

圧縮を適用する場合は、使用ケースを考慮してください。 アーカイブの目的は、ファイルサイズよりも品質を優先する場合があります。ウェブ配信の場合は、ファイルサイズを小さくする必要があります。 PDF/A準拠文書と標準PDFのどちらで作業しているかに基づいて、設定を微調整します。

次に何ができるのかを見てみましょうか? チュートリアルのページはこちらをご覧ください:追加機能

よくある質問

PDFのファイルサイズは、圧縮によってどの程度削減できますか?

IronPDFは画像圧縮と構造最適化によりPDFファイルサイズを最大75%削減することができます。この例では、画像圧縮技術によってファイルが39.24%削減されています。

C#でPDFを圧縮する主なテクニックは何ですか?

IronPDFは2つの主要な圧縮技術を提供します: 埋め込み画像サイズを縮小するCompressImagesメソッドによる画像圧縮と、PDFの内部ツリー構造を最適化するCompressStructTreeメソッドによる構造ツリー圧縮です。

PDFのJPEG圧縮には、どのような品質レベルを使用すればよいですか?

IronPdfは1%から100%のJPEG圧縮品質をサポートしています。推奨レベルは以下の通りです:高品質は90%以上、中品質は80%~90%、低品質は70%~80%です。最適な設定はファイルサイズとビジュアル品質の要求のバランスによって決まります。

たった1行のコードでPDFを圧縮できますか?

はい、IronPdfは1行のコードでPDF圧縮を可能にします:PdfDocument.FromFile("input.pdf").CompressImages(40).SaveAs("compressed.pdf");これはPDFをロードし、40%の品質で圧縮を適用し、結果を保存します。

圧縮はHTMLから作成されたPDFでも機能しますか?

はい、IronPDFの圧縮機能は、既存のPDFファイルだけでなく、HTML文字列からPDFへの変換、URLからPDFへの変換、HTMLファイル変換を含む様々な方法で作成されたPDFでもシームレスに動作します。

PDF圧縮のメリットを最も享受できるのはどのようなコンテンツですか?

通常、画像はPDFファイルサイズの大部分を占めるため、画像を多用する文書は圧縮の理想的な候補となります。さらに、複雑な表構造のPDFはIronPDFの構造ツリー圧縮機能の恩恵を受けます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 17,012,929 | バージョン: 2025.12 リリース