无法让ImageResizer调整我的Pdf大小

时间:2016-03-15 16:36:22

标签: c# pdf thumbnails imageresizer

我刚开始使用ImageResizer使用下面网站上的代码为我的图片创建缩略图。

private void CreateThumbnail()
{
    Dictionary<string, string> versions = new Dictionary<string, string>();
    //Define the versions to generate
    versions.Add("_thumb", "width=100&height=100&crop=auto&format=jpg"); //Crop to square thumbnail
    versions.Add("_medium", "maxwidth=100&maxheight=100&format=jpg"); //Fit inside 400x400 area, jpeg
    versions.Add("_large", "maxwidth=1900&maxheight=1900&format=jpg"); //Fit inside 1900x1200 area

    //Loop through each uploaded file
    foreach (string fileKey in HttpContext.Current.Request.Files.Keys)
    {
        HttpPostedFile file = HttpContext.Current.Request.Files[fileKey];
        if (file.ContentLength <= 0) continue; //Skip unused file controls.

        //Get the physical path for the uploads folder and make sure it exists
        string uploadFolder = MapPath("~/Images");
        if (!Directory.Exists(uploadFolder)) Directory.CreateDirectory(uploadFolder);

        //Generate each version
        foreach (string suffix in versions.Keys)
        {
            //Generate a filename (GUIDs are best).
            string fileName = Path.Combine(uploadFolder, "AssetID" + suffix);

            //Let the image builder add the correct extension based on the output file type
            fileName = ImageBuilder.Current.Build(file, fileName, new ResizeSettings(versions[suffix]), false, true);                
        }
    }
}

然而,当我将此代码应用于Pdf时,它崩溃时出现错误“文件可能已损坏,为空,或者可能包含单个维度大于65,535像素的PNG图像”。 我需要做哪些更改才能调整Pdf的大小?我已经阅读了他们的文档,虽然它似乎会从Pdf创建一个缩略图,但这些示例都是使用图像。

这是包含PdfRenderer

的插件列表

enter image description here

1 个答案:

答案 0 :(得分:1)

未安装PdfiumRenderer或PdfRenderer插件(无论您选择哪个)。因此,主要解码器无法解码图像。

您必须安装PDF插件才能实现此目的。

PdfiumRenderer是两者中较好的。

请参阅http://imageresizing.net/docs/v4/plugins/pdfiumrenderer