【Aspose Cells for .NET】PDF変換する時の,画像の圧縮について

お世話になります。
Excelファイルに貼り付けた画像が,
圧縮されずにPDF変換されるかどうかを教えていただけないでしょうか。
圧縮されたために結局画質が粗くなり見えなくなってしまうことを避けたいと考えております。

また,自身のExcelの設定を確認すると,画像の解像度は220ppiになっていました。
(ファイル→オプション→Excelのオプション→詳細設定→イメージのサイズと画質→既定の解像度 から確認しました)
これを維持させる(220ppi)に設定することもできるのでしょうか?

@morimori,

圧縮を無効化/削除する次のサンプルコードを参照してください。 また、画像タイプをEMFに設定して、品質を向上させます。
例えば
サンプルコード:

.........
PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.PdfCompression = PdfCompressionCore.None;
pdfOptions.ImageType = ImageFormat.Emf

workbook.Save("e:\\test2\\out1.pdf", pdfOptions); 

それでも問題が解決しない場合は、テンプレートのExcelファイルを共有してください(ここに添付する前に圧縮してください)。すぐに確認します。

@Amjad_Sahi
早速のご回答ありがとうございます。
圧縮無効化のサンプルコードを試してみます。

自身のExcelの設定を確認すると,画像の解像度は220ppiになっていました。
(ファイル→オプション→Excelのオプション→詳細設定→イメージのサイズと画質→既定の解像度 から確認しました)
これを維持させる(220ppi)に設定することもできるのでしょうか?

これについては,
圧縮無効化をしないでも,220ppiを維持してPDF出力できますでしょうか?
圧縮無効化が必要ですか?

@morimori,

デフォルトでは、PDFに変換している間、ソースExcelファイルの画像は、MS Excelの表示領域と比較して画像のサイズが大きすぎることを除いて、まったく圧縮されないことに注意してください。

画質の問題を見つけた場合は、ソースExcelファイル、サンプルコード、およびいくつかのスクリーンショットを共有して、問題を分析してください。 すぐに問題を確認します。

@Amjad_Sahi

迅速なご回答ありがとうございます。
デフォルト設定では,殆どの場合圧縮されないとの事,承知いたしました。

ソースExcelファイルの画像は、MS Excelの表示領域と比較して画像のサイズが大きすぎることを除いて、まったく圧縮されないことに注意してください。

表示領域とは,Excelの印刷範囲(青枠)のことでしょうか。
また,具体的にはどれくらいのサイズの時,圧縮されますでしょうか。

お手数おかけしますが,ご教示頂ければと思います。

@morimori,

お問い合わせの詳細をお知らせします。 それまでの間、問題を評価するために、いくつかのソースExcelファイル、サンプルコード、およびいくつかのスクリーンショットを共有していただけませんか。

@Amjad_Sahi

表示領域とは,Excelの印刷範囲(青枠)のことでしょうか。
また,具体的にはどれくらいのサイズの時,圧縮されますでしょうか。

ありがとうございます。
度々お手数おかけしてしまい申し訳ございませんが,本件ご確認よろしくお願いいたします。
ご確認出来次第ご連絡いただけましたら幸いです。

Excelファイル等については
セキュリティ上,ウェブブラウザ上からファイルをアップロードできないため,
別途のメールにてご送付させていただきます。よろしくお願いいたします。

添付のスクリーンショットをご覧ください。
image_2022_06_13T06_44_29_522Z.png (6.9 KB)

現在、OriginPictureWidth / DisplayWithが10より大きい場合、画像は拡大縮小/圧縮されます。ただし、スケールはコード内で使用されており、将来変更される可能性があります。

ソースファイルをまだ受け取っていません。 ここにファイルを圧縮して、zip形式のアーカイブを添付してもよいと思います。

@Amjad_Sahi
早急なご回答いただき,感謝いたします。

OriginPictureWidth / DisplayWithが10より大きい場合、画像は拡大縮小/圧縮されます。

送付していただいたスクリーンショットの場合だと,
OriginPictureWidth / DisplayWithは,8.91/3.48=2.56<10
ということで合っているでしょうか。

OriginPictureWidth / DisplayWith<10で圧縮されない場合には,
元の画像の解像度は維持されるのでしょうか(220ppiの画像は,220ppiでPDF出力される。)

お忙しい所度々申し訳ございませんが,ご回答頂けましたら幸いです。

@morimori,

お問い合わせの詳細をお知らせします。

@Amjad_Sahi
ありがとうございます。
度々お手数おかけいたしますが,ご確認の程よろしくお願い申し上げます。

恐縮ですが,もう1点ご確認させてください。
OriginPictureWidth / DisplayWith>10の場合でも,
先日頂いた以下のコードで圧縮無効化の設定にしておけば,PDF化時の画像圧縮は回避できるのでしょうか。

PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.PdfCompression = PdfCompressionCore.None;
pdfOptions.ImageType = ImageFormat.Emf
workbook.Save(“e:\test2\out1.pdf”, pdfOptions);

お忙しい中大変申し訳ございませんが,ご回答頂けましたら幸いです。

Excelでは、画像の元のサイズは、画像の解像度を考慮したインチ単位です。 ただし、このコードではピクセルを使用しています。

画像の解像度は出力pdfに保持する必要があります。

PdfSaveOptions.ImageTypeは、古いAspose.Cellsバージョンの図形とグラフに対してのみ機能します。 画像では動作しません。 もう使用しないでください。

注:ソースファイルを共有し、分析する問題を強調してください。 そうでなければ、私たちは間違った道を進んでいる可能性があります。

@Peyton.Xu
早急なご回答,ありがとうございます。

①Excelでは、画像の元のサイズは、画像の解像度を考慮したインチ単位です。 ただし、このコードではピクセルを使用しています。

OriginPictureWidthとDisplayWithの比率の話だと思いますので,
Excelの「Format Picture(図形の書式設定)」の表示単位が,インチ,ピクセル,センチのいづれの単位であったとしても,OriginPictureWidth / DisplayWith >10の時に画像圧縮されるのは変わらないという理解で正しいでしょうか?

②画像の解像度は出力pdfに保持する必要があります。

「画像の解像度は出力pdfに保持する」の方法を教えて頂けないでしょうか。

③PdfSaveOptions.ImageTypeは、古いAspose.Cellsバージョンの図形とグラフに対してのみ機能します。 画像では動作しません。 もう使用しないでください。

PdfSaveOptions.ImageTypeは画像では動作しないとのこと,承知いたしました。
他に,画像圧縮回避できるようなソースコードはありますでしょうか。

お忙しい所大変恐縮ですが,以上3点についてご回答いただけましたら幸いです。

本Topicの内容について,
特に問題が起こっている訳ではないのですが,
システム稼働前に,Aspose Cellでどのような解像度・画像圧縮設定になっているか確認させて頂きたく,上記お問い合わせさせて頂いております。
一先ず以上の内容を確認させて頂き,もし問題が見つかればソースファイルを共有させて頂ければと思います。

大変お手数おかけいたしますが,何卒よろしくお願い申し上げます。

@morimori

Excelでは、OriginPictureWidthは画像の解像度を考慮しているようですが、DisplayWithは現在のマシンのDPIを考慮しています。 違いがある。

画像圧縮を回避する方法はありません。
今後、画質に問題がある場合は、ソースファイルをお知らせください。