LEADTOOLS ナレッジベース

[PDF Pro] PDFファイルとして保存するとファイルサイズが大きくなります。圧縮して保存できますか?

RasterCodecs.SaveメソッドでPDFファイルとして保存するとラスタ形式(ビットマップ形式)のPDFファイルとして保存されますので、Adobe Acrobat等で作成したPDFファイルと比べてファイルサイズは大きくなります。
 
PDFファイルを圧縮して保存するには、PdfCompressorEngineクラスを使用して圧縮PDFファイルを作成することが可能です。
 
サンプルコード(VB.NET)
 
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.PdfCompressor
------------------------------
' 画像をロードします。
Dim codecs As New RasterCodecs()
Dim image As RasterImage = codecs.Load("test.pdf")
 
Dim pdfCompressor As New PdfCompressorEngine()
Dim compressionTypes As New PdfCompressorCompressionTypes()
 
' 各セグメントに必要な圧縮タイプを設定します。
compressionTypes.Comp1Bit = PdfCompressor1BitCompression.Zip1Bit
compressionTypes.Comp2Bit = PdfCompressor2BitCompression.Lzw2Bit
compressionTypes.CompPicture = PdfCompressorPictureCompression.JpgPic
compressionTypes.QFactor = 50
 
' どの圧縮タイプを使用するかを示すフラグを設定します。
compressionTypes.Flags = EnabledCompressionsFlags.EnableOneBit Or EnabledCompressionsFlags.EnableTwoBit Or EnabledCompressionsFlags.EnablePicture
 
pdfCompressor.SetCompression(compressionTypes)
 
pdfCompressor.Insert(image)
 
' 保存します。
pdfCompressor.Write("Out_Image.pdf")
 
サンプルコード(C#)
 
using Leadtools;
using Leadtools.Codecs;
using Leadtools.PdfCompressor;
------------------------------
// 画像をロードします。
RasterCodecs codecs = new RasterCodecs();
RasterImage image = codecs.Load("test.pdf");
 
PdfCompressorEngine pdfCompressor = new PdfCompressorEngine();
PdfCompressorCompressionTypes compressionTypes = new PdfCompressorCompressionTypes();
 
// 各セグメントに必要な圧縮タイプを設定します。
compressionTypes.Comp1Bit = PdfCompressor1BitCompression.Zip1Bit;
compressionTypes.Comp2Bit = PdfCompressor2BitCompression.Lzw2Bit;
compressionTypes.CompPicture = PdfCompressorPictureCompression.JpgPic;
compressionTypes.QFactor = 50;
 
// どの圧縮タイプを使用するかを示すフラグを設定します。
compressionTypes.Flags = EnabledCompressionsFlags.EnableOneBit | EnabledCompressionsFlags.EnableTwoBit | EnabledCompressionsFlags.EnablePicture;
 
pdfCompressor.SetCompression(compressionTypes);
 
pdfCompressor.Insert(image);
 
// 保存します。
pdfCompressor.Write("Out_Image.pdf");
 

※PdfCompressorEngine.Insert(RasterImage,PdfCompressorOptions)メソッドはDocument Imagingファミリーの機能であるMRCを使用します。
Imaging Proファミリーでは、PdfCompressorEngine.Insert(RasterImage)メソッドをご利用ください。

0 コメント

記事コメントは受け付けていません。