2012-02-20 4 views
10

Windowsベースのページフリップアプリケーションを実装するには、サムネイルだけでなく、多数のPDFページを良質のJPGに変換できる必要があります。PhotoshopのようなPDFをJPGに変換する - 商用C++/Delphiライブラリ

これはPhotoshopのSave for Webと同様に、最高品質/ファイルサイズを達成することを目的としています。

現在、私はDatalogics Adob​​e PDF Library SDKを使用していますが、そのタスクをフルフィルにすることはできません。私はこのように、良いqualtiy /サイズ/速度を提供する代わりのcommcerical C++またはDelphiライブラリを探しています。

ここでいくつかの検索を行った後、私はほとんどの投稿がGS & Imagekickについて気づきましたが、私もテストしましたが、出力とスピードに満足していません。

対象は300dpiのPDFをインポートし、JPGの品質50,1500pxの高さと出力サイズ300-500kbで変換することです。

誰かがそのタスクのために良いライブラリを指摘できれば、私は最も偉大な人です。

+0

出力が136dpiのときにPDFを300dpiで読み込みたいのですがなぜですか?C#(または別の.NET)言語で作業していますか?出力と同じサイズで読み込むと、処理がかなり速くなります。 –

+0

ヒントをありがとう!これは、私が通常PSの300 dpiですべてのPDFをインポートしたので、後で再びサイズを変更するという事実を断言しているので、私の心の中でプロセスとして固執していたはずです。 – idplanter

答えて

2

Gnostice PDFtoolKit VCLが候補である可能性があります。 JPEGへの変換はオプションの1つです。

+0

ありがとうございます - これを現在チェックしてください。 – idplanter

1

は、私は常にすべてのあなたのイメージ操作のニーズにGraphics32をお勧めもあります。選択するいくつかのresamplersがあります。しかし、私はそれが画像としてPDFファイルを読むことができるとは思わない。しかし、自分で大きなイメージを生成できるのであれば、良い選択かもしれません。

+0

ありがとうございますが、目標は2〜3分で100+ページの変換を処理することになりますので、私は最小限のプロセス操作を保ちたいと思います。 – idplanter

+0

私は参照してください。イメージのリサンプリングは、ソースイメージの実際の世代と比較して、かなり軽量なプロセスでなければなりません。 –

0

DynaPDFをご覧ください。私はかなり高価だが、あなたはスターターパックを試すことができます。

P .:製品を購入する前に、お客様のニーズを満たしていることをご確認ください。

1

Atalasoft DotImage(PDFラスタライザアドオン付き)は、私がそこでPDF技術を使用します。

ConvertToJpegs(string outfileStem, Stream pdf) 
{ 
    JpegEncoder encoder = new JpegEncoder(); 
    encoder.Quality = 50; 

    int page = 1; 
    PdfImageSource source = new PdfImageSource(pdf); 
    source.Resolution = 300; // sets the rendering resolution to 200 dpi 
    // larger numbers means better resolution in the image, but will cost in 
    // terms of output file size - as resolution increases, memory used increases 
    // as a function of the square of the resolution, whereas compression only 
    // saves maybe a flat 30% of the total image size, depending on the Quality 
    // setting on the encoder. 

    while (source.HasMoreImages()) { 
     AtalaImage image = source.AcquireNext(); 
     // this image will be in either 8 bit gray or 24 bit rgb depending 
     // on the page contents. 

     try { 
      string path = String.Format("{0}{1}.jpg", outFileStem, page++); 
      // if you need to resample the image, this is the place to do it 
      image.Save(path, encoder, null); 
     } 
     finally { 
      source.Release(image); 
     } 
    } 
} 
+0

ありがとうございます。しかし、.netが含まれているアプリケーションが.netで書かれていないため、.netは問題になりません。 – idplanter

関連する問題