我目前正在尝试使用Ghostscript (或者更具体地说,GhostscriptSharp,C#包装器版本)来生成PDF的缩略图,并且遇到了一些正在输出的图像质量问题。
使用以下方法:
GeneratePageThumbs(string inputPath, string outputPath, int firstPage, int lastPage, int width, int height)将宽度和高度更改为较小的数字,将生成与我正在寻找的大小大致相同的缩略图,例如,高度为12,宽度为8将生成一组102x88像素的缩略图。
理想情况下-我正在尝试生成100x80大小的缩略图,这些缩略图在呈现为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和它在大小和质量之间取得平衡的设置。我不反对创建更大的图像,并将它们缩放为缩略图,尽管如果可能的话,我更喜欢让缩略图工作。
发布于 2012-05-15 15:13:32
如果看不到原始文档,我就不能确定,但在我看来,102x88像素不太可能足以创建可读的文本。
对于这个大小,TextAlphaBits可能太大了,你得到的只是一个模糊的东西。尽量不要设置TextAlphaBits。对于这么小的页面,NumRenderingThreads不会做任何有用的事情(尽管它也不会有任何坏处)。
https://stackoverflow.com/questions/10584625
复制相似问题