2012-05-14 4 views
0

В настоящее время я пытаюсь сгенерировать эскизы PDF-файлов с помощью Ghostscript (или, более конкретно, , версии оболочки C#) и столкнулся с некоторыми проблемами с качеством изображения, которое выводится ,Создание высококачественных (или читаемых) эскизов с использованием Ghostscript

Используя следующий метод:

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

и изменение ширины и высоты в меньших количествах, которые будут генерировать эскиз примерно размер, который я искал, например, высота 12 и ширина 8 будет сгенерируйте набор миниатюр размером 102 х 88 пикселей.

В идеале - я пытаюсь создать эскизы размером 100 х 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 и его настройкой, чтобы установить баланс между размером и качество. Я бы не стал возражать против создания больших изображений и масштабирования их для миниатюр, хотя я бы предпочел, чтобы миниатюры работали, если это было возможно.

ответ

3

Не видя исходных документов, я не могу быть уверен, но мне кажется маловероятным, что 102x88 пикселей будет достаточно для создания читаемого текста.

TextAlphaBits, вероятно, слишком велик для этого размера, все, что вы получите, - это размытие. Не пытайтесь установить TextAlphaBits. NumRenderingThreads не будет делать ничего полезного со страницей этого маленького (хотя и не навредит).