JavaでPDFファイルを圧縮する方法
PDF文書は、文書の保存や共有によく使われますが、PDFファイルのサイズがかなり大きくなることがよくあります。これは、保存用だけでなく、PDF文書を共有またはアップロードしようとするときにも問題となることがあります。 この問題に対処するために、Java PDF LibraryであるIronPDFを使ってPDFファイルを圧縮して保存することが可能です。 PDF文書の圧縮は、埋め込まれたフォントや画像などの不要な要素やオブジェクトを削除することで、そのサイズを縮小します。
この記事では、JavaでPDFファイルを圧縮するためのIronPDFライブラリを探ります。 また、インポートプロセスを理解し、自身のプロジェクトに実装するためのコードサンプルも提供します。
IronPDF:PDFライブラリ
IronPDFは強力なJava PDFライブラリであり、ユーザーは言語やプログラミング環境に関係なく、PDFファイルを作成、生成、操作、圧縮、ダウンロード、読み取りすることができます。 ドキュメントコントロール、フォーム入力、画像埋め込み、圧縮などの機能を備えた、精度の高いドキュメントを作成することができます。
IronPDFの特徴は、既存のPDFを圧縮する能力を持ち、最高品質の出力を維持しながらファイルサイズを大幅に削減できる点です。 これは、ファイル品質を犠牲にすることなく、インターネットやメールを通じて迅速に共有する必要がある大規模な文書に最適です。
IronPDFを使ってPDFドキュメントを圧縮する
次の手順に従ってPDFファイルのサイズを圧縮してください。
Java MavenプロジェクトにIronPDFをインストール
- MavenプロジェクトにIronPDFをインストールするには、プロジェクトのpom.xmlファイルにIronPDFのMavenリポジトリと依存関係を追加する必要があります。
- 次に、pom.xmlファイルの
セクションに以下を追加して、IronPDF依存関係を追加します。
:ProductInstall
:ProductInstall
-
pom.xmlファイルを保存し、IronPDF依存関係をインストールするためにMVNインストールを実行します。
これらの手順を完了したら、プロジェクトでIronPDFクラスをインポートして使用できるようになります。
PDFファイルの圧縮
このコードは、IronPDFライブラリを使用してPDFドキュメントを圧縮するJavaプログラムです。
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class App{
// method to compress PDF
public static void main(String [] args) throws IOException {
string src = "C:\\Image based PDF.pdf";
PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));
// Valid image compression values range from 1 to 100, where 100
// represents 100% of the original image quality.
pdf.compressImages(60);
pdf.saveAs(Paths.get("assets/document_compressed.pdf"));
// The second, optional parameter can scale down the image resolution
// according to its visible size in the PDF document. Note that this may cause distortion with some image configurations
pdf.compressImages(90, true);
string dest = "C:\\Compressed.pdf";
pdf.saveAs(Paths.get(dest));
}
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class App{
// method to compress PDF
public static void main(String [] args) throws IOException {
string src = "C:\\Image based PDF.pdf";
PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));
// Valid image compression values range from 1 to 100, where 100
// represents 100% of the original image quality.
pdf.compressImages(60);
pdf.saveAs(Paths.get("assets/document_compressed.pdf"));
// The second, optional parameter can scale down the image resolution
// according to its visible size in the PDF document. Note that this may cause distortion with some image configurations
pdf.compressImages(90, true);
string dest = "C:\\Compressed.pdf";
pdf.saveAs(Paths.get(dest));
}
}
コードは、IronPDFライブラリとファイル処理のために必要なJavaクラスをインポートします。 Appクラスのmainメソッドは、"C:"ディレクトリから"Image-based PDF.pdf"というPDFドキュメントを読み取り、PDF内の画像を60%圧縮して、新しい圧縮バージョンを"assets"ディレクトリに"document_compressed.pdf"として保存します。
次に、PDF内の画像を90%圧縮し、結果として得られたPDFファイルを"C:"ディレクトリに"Compressed.pdf"として保存します。 第2のオプションパラメータは、PDFドキュメント内の表示サイズに応じて画像の解像度を縮小することができます。
圧縮ファイルと元のPDFファイルの比較を見ることができます。
圧縮前
圧縮後
結論
IronPDFは、ページの回転、HTMLからPDFへの変換、画像操作などの多くの機能を備えた、JavaでPDFサイズを圧縮するための強力かつ手頃なツールです。 これらの機能が連携することで、IronPDFはPDFの圧縮に低コストなソリューションを提供しながら、包括的なライブラリの追加メリットも享受できる優れた選択肢となります。
ライセンス価格とオプションはわずか$749から始まり、予算に敏感な開発者に大きな金額を支払うことなく高品質なソフトウェアにアクセスする機会を提供します。 総じて、IronPDFは、信頼性が高く、堅牢なPDF最適化を煩わしさなく提供することを求める開発者にとって、優れた選択肢を提供します。