1

現在、Ghostscript(またはより具体的にはGhostscriptSharp、C#ラッパーバージョン)を使用してPDFのサムネイルを生成しようとしていますが、出力される画質にいくつかの問題が発生しました。

次の方法を使用します。

GeneratePageThumbs(string inputPath, string outputPath, int firstPage, int lastPage, int width, int height)

幅と高さを小さい数値に変更すると、おおよそ私が探しているサイズのサムネイルが生成されます。たとえば、高さが12、幅が8の場合、サイズが102x88ピクセルのサムネイルのセットが生成されます。

理想的には、100 x 80のサイズのサムネイルを生成しようとしています。これは、HTMLとして(画像タグで)レンダリングしたときに適度に見栄えがよく、読者がサムネイルから何を見ているのかを適切に把握できるようにするためです。現在、完全に判読できません)

これらは(C#ラッパーからの)現在の設定です:

private static readonly string[] ARGS = new string[] {
     // Keep gs from writing information to standard output
     "-q",                     
     "-dQUIET",

     "-dPARANOIDSAFER",         // Run this command in safe mode
     "-dBATCH",                 // Keep gs from going into interactive mode
     "-dNOPAUSE",               // Do not prompt and pause for each page
     "-dNOPROMPT",              // Disable prompts for user interaction           
     "-dMaxBitmap=500000000",   // Set high for better performance
     "-dNumRenderingThreads=4", // Multi-core, come-on!

     // Configure the output anti-aliasing, resolution, etc
     "-dAlignToPixels=0",
     "-dGridFitTT=0",
     "-dTextAlphaBits=4",
     "-dGraphicsAlphaBits=4"
};

ただし、サイズと品質のバランスをとるためのGhostsharpとその設定についてはあまり詳しくありません。可能であればサムネイルを機能させたいと思いますが、より大きな画像を作成してサムネイル用に拡大縮小することに反対するつもりはありません。

4

1 に答える 1

3

元のドキュメントを見ないと確信が持てませんが、102x88ピクセルで読みやすいテキストを作成できるとは思えません。

TextAlphaBitsはおそらくこのサイズには大きすぎます。得られるのは、ぼかしだけです。TextAlphaBitsをまったく設定しないようにしてください。NumRenderingThreadsは、これほど小さいページでは何の役にも立ちません(ただし、害はありません)。

于 2012-05-15T07:13:32.023 に答える