【Aspose.Pdf】PDFファイルのサイズを圧縮また最適な方法について

■利用製品
Aspose.Total for .NET (v23.3.0)

Aspose.Pdf for .NET

■事象:
WordやExcelなどのファイルをPDF変換し、
変換されたPDFサイズ圧縮したく、以下の方法で最適化していました。

  // Optimize the PDF (reduce the size)
  Aspose.Pdf.Document pdfDoc = new Aspose.Pdf.Document(outputSteam);

  // Create optimization options
  OptimizationOptions optimizeOptions = new OptimizationOptions();
  optimizeOptions.LinkDuplcateStreams = true; // Link duplicate streams
  optimizeOptions.RemoveUnusedObjects = true; // Remove unused objects
  optimizeOptions.RemoveUnusedStreams = true; // Remove unused streams
  optimizeOptions.ImageCompressionOptions.CompressImages = true;
  optimizeOptions.ImageCompressionOptions.ImageQuality = 50;
  optimizeOptions.UnembedFonts = true;

  Optimize resources
  pdfDoc.OptimizeResources(optimizeOptions);

例に、添付テストファイルの圧縮率は以下のようになっています。
Excel-1 圧縮率 11.9%
image.png (8.9 KB)

Word-2 圧縮率 24.1%
image.png (8.9 KB)

テストファイルの詳細は添付ファイルをご参考ください。
Excel.zip (6.0 MB)
word.zip (4.6 MB)

■確認事項:
想定よりPDFサイズが圧縮されていないようですので、
上記設定しましたPDF Optimization Optionsは問題ないでしょうか。
もっとPDFサイズの圧縮できる方法がございましたら、
ご教示のほどよろしくお願いいたします。
以上、宜しくお願い致します。

@caoyuan

確認中ですので、すぐにご連絡させていただきます。

@caoyuan

添付の出力 PDF と、Aspose.PDF for .NET 23.7 を使用して生成するために使用したサンプル コード スニペットを確認してください。ファイル サイズは期待値まで縮小されました。最新バージョンとこのコードを使用してテストしていただけますか?問題が発生した場合はお知らせください。

var oo = new Aspose.Pdf.Optimization.OptimizationOptions();
//oo.ImageCompressionOptions.ImageQuality = 20;
oo.ImageCompressionOptions.MaxResolution = 300;
oo.ImageCompressionOptions.ResizeImages = true;
oo.ImageCompressionOptions.CompressImages = true;
oo.ImageCompressionOptions.Encoding = Optimization.ImageEncoding.Jpeg;
oo.ImageCompressionOptions.Version = Aspose.Pdf.Optimization.ImageCompressionVersion.Standard;
oo.AllowReusePageContent = true;
oo.RemoveUnusedObjects = true;
oo.RemoveUnusedStreams = true;
oo.LinkDuplcateStreams = true;
oo.SubsetFonts = true;
oo.AllowReusePageContent = true;

using (Document document = new Document(dataDir + "excel-1.pdf"))
{
 document.OptimizeResources(oo);
 document.Save(dataDir + "optimized-excel-1.pdf");
}

optimized-excel-1.pdf (1.2 MB)
optimized-word-2.pdf (668.5 KB)

1 Like

@asad.ali

本件ご対応いただきありがとうございます。かしこまりました。
また、夏季休暇のため、返事が遅くなりまして申し訳ありません。

ご提示頂いた対応方法で、
Aspose.PDF for .NET 23.7のバージョンアップとサンプルコードで検証させていただきます。

@caoyuan

もちろん、お時間をいただき、何か問題が発生した場合はお気軽にご連絡ください。また、23.8 が最新バージョンなので、今すぐ使用してみてください。

1 Like

@asad.ali

検証結果の報告が遅れてしまい、申し訳ありません。
Aspose.PDF for .NET 23.10を使用し、いただいたサンプルコードに従って修正したところ、
PDFのサイズ圧縮率が大幅に改善されましたことを確認いたしました。
この改善を既に本番環境にも適用し、活用させていただいております。
よって、本チケットをクローズいたします。

ご対応いただきありがとうございます。
今後とも宜しくお願い致します。

@caoyuan

引き続き API をご利用ください。さらにサポートが必要な場合はお気軽にお知らせください。また、現在最新バージョンは 24.4 であり、同様に使用できます。

1 Like