2016-11-10 67 views
2

PDFファイルをイメージに分割しても問題ありませんが、このファイルをイメージに分割した後にサイズが2.5 MBのPDFファイルを作成すると問題が発生します。だから、私はこれらのイメージのサイズを増やしたくないのですが、これはサーバー上のストレージの問題です。分割後のファイルサイズがGhostscriptで増加するPDF

コード

using (var pdfReader = new PdfReader(fileSavePath)) 
{ 
    var imagelst = new Pdf2Image(fileSavePath).GetImages(1, pdfReader.NumberOfPages); 
    foreach (var image in imagelst) 
    { 
     imageModal = new ImageModel(); 
     imageModal.FileName = Guid.NewGuid().ToString() + ".png"; 
     image.Save(dirPath + "\\" + imageModal.FileName);  
     //Using below commented code I can decrease Image size 50 % percent but it creates Image quality problem. 
     //int newWidth = (int)(image.Width * 0.5); 
     //int newHeight = (int)(image.Height * 0.5); 
     //var newImage = ImageHelper.ResizeImage(image, newWidth, newHeight); 
     //newImage.Save(dirPath + "\\" + imageModal.FileName); 
     imageModelList.Add(imageModal); 
    } 
} 
+0

「画像に分割する」とはどういう意味ですか?あなたはそれをラスタライズしていますか?使用する画像の種類、色の濃さ、圧縮など完全なghostscriptコマンドを投稿し、入力ファイルに含まれているものを説明すると、ヒントはもっと多くなるかもしれません - 白黒テキストのみ? JPEG写真ですか?これはあなたの質問に関連しています。 –

+0

C#とasp.net-mvcタグを削除すると、関連性の兆候がないためです。 – Richard

+0

@StefanHegny「画像に分割」とは、ページ数を含むpdfファイルを持ち、各ページをImageに変換していることを意味します。私はそれをpng画像として保存しています。そして、私がMVCでC#で実行しているこのすべてのことGhostscript.netを使用して –

答えて

1

PDFファイルは、ページレイアウトのベクトル記述されています。画像ファイルはビットマップです。ベクターの説明が普及している理由の1つは、がビットマップよりもコンパクトであるため、です。

ビットマップが大きすぎる場合は、レンダリングする解像度を下げることができます。これは明らかに品質を低下させます。

それ以外は、あなたの期待は非現実的です。イメージファイルは、ほとんどの場合、ベクトルファイルより大きくなります。

関連する問題