我目前正在尝试使用Ghostscript(或更具体地说是GhostscriptSharp,C#包装器版本)生成PDF的缩略图,并且遇到了正在输出的图像质量的一些问题。
使用以下方法:
GeneratePageThumbs(string inputPath, string outputPath, int firstPage, int lastPage, int width, int height)
并将宽度和高度更改为较小的数字,这将生成大致与我要查找的大小的缩略图,例如,高度为12,宽度为8将生成一组尺寸为102 x 88像素的缩略图
理想情况下 - 我正在尝试生成尺寸为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及其设置以在尺寸和质量之间取得平衡。我不反对为缩略图创建更大的图像并缩放它们,尽管我希望尽可能让缩略图工作。
答案 0 :(得分:3)
没有看到原始文档,我无法确定,但似乎不太可能102x88像素足以创建可读文本。
对于这个大小,TextAlphaBits可能太大了,你将得到的只是模糊。尽量不要设置TextAlphaBits。 NumRenderingThreads不会对这么小的页面做任何有用的事情(尽管它也不会造成任何伤害)。