0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

C# または VB.NET プログラムで PDF 文書のサイズを圧縮する方法

Posted at

はじめに

PDFのサイズは、ファイルのアップロード、送信、保存の速度に影響するだけでなく、場合によっては大量のハードディスク容量を占有することもあります。そのため、PDFを圧縮して文書をより効果的に保存または管理することができます。圧縮する際には、フォントと高品質画像がファイルサイズに影響する主要な要素です。したがって、フォントリソースと画像品質を圧縮することで文書のサイズを減らすことが良い選択肢です。この記事では、.NETプログラムを使用してPDF文書を圧縮する方法を紹介しますが、内容は変更しません。サンプルコードにはC#とVB.NETが含まれています。

ツール

このライブラリは、無料でPDFファイルを作成、編集、変換することができますが、ページ数の制限があります。または、有料版の製品の無料トライアルを申し込むこともできます。
Spire.PDF for .NET

インストール方法

1.Free Spire.PDF for .NETをダウンロードします。
2.Visual Studioで新しいプロジェクトを作成します。
3.「Solution Explorer」>「References」を右クリックし、「Add Reference」>「Browse」を選択します。
4.BINフォルダ内のdllファイルを見つけて、「OK」をクリックします。

サンプルコード

このコードでは、PdfCompressorオブジェクトのOptionsプロパティを取得することで、テキスト圧縮オプションと画像圧縮オプションを取得できます。
テキスト圧縮オプションでは、CompressFontsプロパティをtrue/Trueに設定して、文書内のフォントを圧縮します。埋め込まれたフォントを解除する場合は、UnembedFontsプロパティをtrue/Trueに設定してください。
画像圧縮オプションでは、ImageQualityプロパティを設定して画像の圧縮品質を制御できます。例えば、ImageQuality.Highに設定すると高品質な画像が得られます。同時に、ResizeImagesプロパティをtrue/Trueに設定すると、画像のサイズを調整できます。CompressImageプロパティをtrue/Trueに設定すると、文書内の画像を圧縮することができます。

C#:

using Spire.Pdf;
using Spire.Pdf.Conversion.Compression;

namespace CompressPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfCompressor オブジェクトの初期化し、PDF 文書をロードする
            PdfCompressor compressor = new PdfCompressor("Sample.pdf");

            //テキスト圧縮オプションを取得する
            TextCompressionOptions textCompression = compressor.Options.TextCompressionOptions;

            //フォントを圧縮する
            textCompression.CompressFonts = true;

            //フォントの埋め込みを解除する
            //textCompression.UnembedFonts = true;

            //画像圧縮オプションを取得する
            ImageCompressionOptions imageCompression = compressor.Options.ImageCompressionOptions;

            //圧縮画質を設定する
            imageCompression.ImageQuality = ImageQuality.High;

            //画像のサイズを変更する
            imageCompression.ResizeImages = true;

            //画像を圧縮する
            imageCompression.CompressImage = true;

            //圧縮された文書をPDFに保存する
            compressor.CompressToFile("Compressed.pdf");
        }
    }
}

VB.NET:

Imports Spire.Pdf
Imports Spire.Pdf.Conversion.Compression

Namespace CompressPdf
    Class Program
        Shared  Sub Main(ByVal args() As String)

            'PdfCompressor オブジェクトの初期化し、PDF 文書をロードする
            Dim compressor As PdfCompressor =  New PdfCompressor("Sample.pdf")

            'テキスト圧縮オプションを取得する
            Dim textCompression As TextCompressionOptions =  compressor.Options.TextCompressionOptions

            'フォントを圧縮する
            textCompression.CompressFonts = True

            'フォントの埋め込みを解除する
            textCompression.UnembedFonts = True

            '画像圧縮オプションを取得する
            Dim imageCompression As ImageCompressionOptions =  compressor.Options.ImageCompressionOptions

            '圧縮画質を設定する
            imageCompression.ImageQuality = ImageQuality.High

            '画像のサイズを変更する
            imageCompression.ResizeImages = True

            '画像を圧縮する
            imageCompression.CompressImage = True

            '圧縮された文書をPDFに保存する
            compressor.CompressToFile("Compressed.pdf")
        End Sub
    End Class
End Namespace

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?