IRONSOFTWAREHOME

JavaでPDFファイルを圧縮する方法

Curtis Chau
Curtis Chau
Updated: 2026年5月9日

IronPDFはJava開発者が画質を下げ、解像度を拡大縮小することでPDFファイルを圧縮し、ファイルサイズを小さくして共有や保存を容易にします。

クイックスタート:JavaでPDFファイルを圧縮する
//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/quickstart-compress.java
インポート com.ironsoftware.ironPdf.*;
インポート java.nio.file.Paths;

// PDFドキュメントを読み込む
PdfDocument pdf = PdfDocument.fromFile(Paths.get("source.pdf"));

// 画像を60%の画質に圧縮
pdf.compressImages(60);

// 圧縮PDFを保存
pdf.saveAs(Paths.get("compressed.pdf"));
Text

PDF文書は情報の共有と保存のために広く使用されていますが、画像が多いファイルは非常にすぐに数十メガバイトに達することがあります。 大きなファイルサイズはメール配信を複雑にし、アップロードを遅くし、保存コストを増加させます。 IronPDF for Java圧縮APIは、埋め込まれた画像の品質を削減し、数行のコードで解像度をスケールすることによりこれに対応します。

この記事はIronPDFを使用してJavaでPDFファイルを圧縮する方法をカバーしています。 例示では、簡単な品質ベースの圧縮と解像度スケーリングの両方を示し、特定のサイズと品質の要件にアプローチを適合させることができます。 また、画像が多いPDFを扱っている場合や統合された文書を処理する必要がある場合、配布前の圧縮は不可欠なステップです。

IronPDF Java PDFライブラリとは何ですか?

IronPDFはJava PDFライブラリで、プログラム的にPDF文書を作成、読み取り、操作します。 このライブラリは、HTMLからPDFへの変換、フォームの記入、画像の埋め込み、ファイルの圧縮を、PDFビューアーや外部レンダリングエンジンを必要とせずに行います。AWS Lambda、Azure Functions、およびGoogle Cloudなど、さまざまな展開環境をサポートしています。

IronPDFの圧縮は、埋め込まれた画像を低品質のJPEGレベルにリサンプリングし、オプションでPDFの表示サイズに合わせて解像度を削減することで機能します。 テキスト、ベクトルグラフィックス、文書構造には影響を与えません。 これにより、電子メールで迅速に転送する必要があるか、クラウドベースのシステムに保存する必要がある大きな文書に対してIronPDFが実用的な選択となります。

ライブラリは他の文書操作とも非常に良く連携します:すでにウォーターマーク、背景レイヤー、およびブックマークを持っているPDFを圧縮でき、圧縮後もすべての機能が保持されます。

ご注意: 圧縮は、埋め込まれたJPEGまたはPNG画像を含むPDFに最も効果的です。 主にテキストとベクトルグラフィックで構成されたドキュメントは、サイズ削減が最小限になります。

Java MavenプロジェクトでIronPDFを設定する方法

PDFを圧縮する前に、プロジェクトのMaven構成にIronPDFを追加します。 フルセットアップ手順については、Get Started Overviewを参照してください。

  • MavenプロジェクトにIronPDFをインストールするには、IronPDF Mavenリポジトリと依存関係をpom.xmlファイルに追加します。

  • <dependencies>セクションに依存関係を追加します:

    //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/maven-dependency.xml
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>your_version_here</version>
    </dependency>
    XML
  • IronPDF依存関係をダウンロードします。

依存関係が解決されたら、プロジェクトでIronPDFクラスをインポートおよび使用できます。 Maven Centralには、IronPDF Javaアーティファクトの最新発行バージョンが公開されています。 本番展開のために、実行前にライセンスキーを設定してください。

JavaでPDFファイルを圧縮する方法

IronPDFは、文書内に埋め込まれた画像をターゲットにすることで、PDFファイルを圧縮します。 compressImages()メソッドは、整数を0から100まで受け入れ、より低い値は画像のシャープさの代償でより小さなファイルを生成します。 オプションの2番目のパラメータは、PDFページの表示サイズに基づいて画像解像度を縮小するようライブラリに指示します。

//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
インポート com.ironsoftware.ironPdf.*;
import java.io.IOException;
インポート java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
Java

ディスクからPDFを読み込み、異なる戦略を示すために2回に分けて圧縮を適用します。 最初のcompressImages(60)呼び出しは画像品質を60%に減らし、結果を保存します。 2回目の呼び出しでは90%の品質を使用しますが、解像度スケーリングを有効にし、ページ上の可視エリアに一致するように各画像のピクセル寸法を調整します。

compressImages()メソッドには2つのシグネチャがあります:

  • compressImages(int quality) - 埋め込まれたすべての画像を指定されたJPEG品質レベルにリサンプルします。 強いサイズ削減と認識可能な画像保持のために、40から80の値を使用します。
  • compressImages(int quality, boolean scaleImageResolutionToVisibleSize) - 解像度のスケーリングを追加します。 ライブラリがtrueされると、ネイティブ解像度の一部としてレンダリングされた画像を検出し、それに応じて縮小します。 このオプションは最も積極的なサイズ削減を提供しますが、処理時間が多少増加します。
ヒント: サイズと品質のバランスを微調整するために複数回適用します。 70%のような適度な設定で開始し、出力ファイルサイズを確認し、次に低品質での2回目の通過が必要かどうかを判断します。)}

画像が多いPDFで通常60%圧縮を実行すると、ソース画像によってファイルサイズが50-70%減少します。 主にテキストコンテンツを含むドキュメントでは、改善ははるかに小さくなります。 特定のドキュメントについて結果を評価するために、出力ディレクトリの前後のファイルサイズを比較します。

圧縮と共に他の処理を必要とする文書には、テキストの抽出、画像の抽出、およびPDFの分割をサポートするIronPDFを使用してください。

元のPDFはどのようなものですか?

ファイルエクスプローラーが IronPDF を使った圧縮前の 458 KB の元の PDF ファイルを表示

圧縮後の結果はどうなりますか?

ファイルエクスプローラーが IronPDF の compressImages を 60% クオリティで実行後、ファイルサイズが顕著に削減された圧縮された PDF 出力ファイルを表示

適切な圧縮品質設定を選択する方法は?

適切な品質レベルを選ぶには、ファイルサイズと視覚的忠実性をバランスさせる必要があります。 適切な設定は、ドキュメントの目的と埋め込まれた画像の感度によります。

以下の表は、一般的なユースケースに対する実用的なガイドラインを示しています:

IronPDF画像圧縮品質レベルガイド
品質レベルおおよそのサイズ削減最適な用途
80~100%10~30%印刷品質のドキュメント、医療記録、法的提出物
60–79%40–60%社内報告書、ウェブダウンロードPDF、メール添付ファイル
40–59%60~75%サムネイルのプレビュー、ドラフトドキュメント、アーカイブコピー
40%以下75%以上著しく劣化した出力で、一般的に配布には推奨されません

解像度スケーリングは、ソースPDFが高解像度の写真やスキャンされたページから組み立てられたものの、ドキュメントが画面表示専用である場合に最適に機能します。 その場合、通常のズームレベルでの品質変化を感じることなく、ファイルサイズを減少させることができます。 PDF画像エンコード標準のさらなる文脈については、アメリカ議会図書館のJPEG 2000フォーマットドキュメントとStack OverflowのPDF画像圧縮ディスカッションを参照してください。

重要: デジタル署名を含むPDFの圧縮は避けてください。 埋め込まれた画像を変更することでドキュメントのバイナリコンテンツが変わり、既存の署名が無効になります。)}

画像圧縮以外にPDFファイルサイズをさらに減らす方法は?

画像圧縮は多くのPDFでファイルサイズに最も寄与する要素を扱いますが、追加のテクニックを組み合わせるとサイズをさらに減少できます。 compressImages()を補完するいくつかのアプローチをサポートします:

不要なページを削除する。 圧縮前にページを削除すると、画像データとページ構造のオーバーヘッドの両方が削減されます。 ページ削除例を使用して、空白や冗長なページを削除します。

注釈を削除する。 注釈オブジェクトはファイルにバイナリデータを追加します。保存前に注釈管理APIでそれらを削除すると、大量のマークアップがあるドキュメントではファイルサイズを顕著に減少させることができます。

文書を一括処理します。 多くのPDFを圧縮するワークフローでは、ファイルパスのリストを反復し、ループでIronPDFは各文書を独立して処理するので、一括処理には特別な構成は不要です。pdf-compressionの例を出発点として参照してください。

PDF最適化戦略の広範なディスカッションについては、アメリカ議会図書館のPDFファイルフォーマット仕様が、ファイルサイズに寄与する構造要素とそれらを削減する方法を文書化しています。

JavaでPDFを圧縮する次のステップは?

compressImages()メソッドは、JavaアプリケーションでPDFファイルサイズを削減する実用的な方法を提供します。 品質整数を使った1回のメソッド呼び出しでほとんどのユースケースをカバーし、オプションの解像度スケーリングパラメータが最も積極的な削減が必要な画像ヘビーなソースファイルを処理します。

無料トライアルを開始して、ご自身のドキュメントで圧縮をテストしてください:

他のIronPDFが何ができるかを見る準備はできましたか? ここでJava PDFチュートリアルライブラリ全体をチェックしてください:IronPDF Java How-To Guides

よくある質問

PDF圧縮とは何ですか?

PDF圧縮は、埋め込み画像をリサンプリングし、表示解像度を調整することで、ファイルサイズを縮小します。ファイルが小さくなると、メール送信、アップロード、保管が容易です - IronPDF の compressImages() メソッドは、Java アプリケーションでこれを単一のメソッドコールで処理します。

JavaでPDFファイルをすばやく圧縮するには?

PDFをPdfDocument.fromFile()でロードし、compressImages(60)を呼び出して画像品質を60%に減少させ、saveAs()で結果を保存します。これらの3行がコア圧縮ワークフローを処理します。

PDFに使用する圧縮品質レベルは?

60-70%の値は、ほとんどのドキュメントに対してファイルサイズと視覚的な質のバランスを提供します。印刷品質または法的記録用には80-100%を使用し、下書きやサムネイルプレビュー用には40-59%のみ使用します。

複数のマージドキュメントを含むPDFを圧縮できますか?

はい。IronPDFは、どのように組み立てられたかに関わらず、すべてのPDFを圧縮します。compressImages()メソッドは、単一のソースまたは複数のマージファイルから来るかにかかわらず、ドキュメント内のすべての埋め込み画像を対象とします。

圧縮は、透かしやフォームのような他のPDF機能に影響しますか?

いいえ - IronPDFの圧縮は、埋め込まれたラスタ画像だけを対象にします。テキスト、ベクターグラフィックス、ウォーターマーク、背景、ブックマーク、フォームフィールドは、出力ドキュメントで保持されます。

IronPDFでのPDF圧縮をサポートする展開環境は何ですか?

IronPDFは、AWS Lambda、Azure Functions、Google Cloud、標準サーバー展開でPDF圧縮をサポートしています。これらの環境では外部のレンダリングエンジンやPDFビューアは必要ありません。

scaleImageResolutionToVisibleSizeパラメータは何をしますか?

trueに設定すると、IronPDFはネイティブ解像度の一部でレンダリングされた画像を検出し、ピクセル寸法を表示サイズに一致するように縮小します。これにより、単なる品質削減だけではなく、ファイルサイズがさらに減少しますが、処理時間が僅かに増加します。

圧縮されたPDFはそのデジタル署名を無効にしますか?

はい。埋め込まれた画像を変更すると、ドキュメントのバイナリ内容が変更され、既存のデジタル署名が破損します。署名を適用する前にPDFファイルを圧縮します。

What additional techniques does IronPDF offer for reducing PDF file size beyond image compression?

Beyond image compression, IronPDF provides techniques such as page deletion, annotation removal, and bulk processing to further reduce PDF file sizes.

Where can I find more resources to start using IronPDF for PDF compression?

You can start using IronPDF with a free trial available on their website. Additionally, explore more resources and how-to guides in the IronPDF Java tutorial library for comprehensive learning.

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

バージョン:2026.6リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for Java Mavenライブラリ
Mavenでインストール

バージョン: 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for Java Mavenライブラリ
Mavenでインストール

バージョン: 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project