在WinForms中创建PDF缩略图C#

时间:2011-05-06 08:15:10

标签: c# pdf

我正在寻找一个简单的免费组件,我可以在其中生成给定的pdf文件缩略图。

我调查了PDFBoxGhostScriptAbobe InteropGhostScript太重,无法部署(文件太多),Abobe Interop需要安装Acrobat Pro 7或更高版本,否则COM异常和PDFBox渲染功能仍未实现。 Win-forms是否有免费的简单组件?

我还查看了http://tallcomponents.net/ PDF缩略图组件,显然它只适用于Web

提前致谢。

3 个答案:

答案 0 :(得分:4)

看看PDFLibNet。它是一个可用于查看PDF的DLL。您可以使用它为每个页面生成预览图像,如下所示:

Image RenderPage(PDFLibNet.PDFWrapper doc, int page)
{
    doc.CurrentPage = page + 1;
    doc.CurrentX = 0;
    doc.CurrentY = 0;

    using (var box = new PictureBox())
    {
        // have to give the document a handle to render into
        doc.RenderPage(box.Handle);

        // create an image to draw the page into
        var buffer = new Bitmap(doc.PageWidth, doc.PageHeight);
        doc.ClientBounds = new Rectangle(0, 0, doc.PageWidth, doc.PageHeight);
        using (var g = Graphics.FromImage(buffer))
        {
            var hdc = g.GetHdc();
            try
            {
                doc.DrawPageHDC(hdc);
            }
            finally
            {
                g.ReleaseHdc();
            }
        }

        return buffer;
    }
}

答案 1 :(得分:3)

我们正在寻找类似的解决方案 - 创建一个图像"缩略图"来自pdf。在我们的搜索中,我们查看了上面的所有内容,但它们都有自己的问题和复杂性。

我们偶然发现了abcPDF(http://www.websupergoo.com/)。该产品具有一切,简单易用。以下是有关从PDF创建PNG的文档的深层链接。 http://www.websupergoo.com/helppdf8net/source/4-examples/19-rendering.htm

答案 2 :(得分:1)

我在SourceForge.net上创建了项目。我使用过Windows API,因此您不需要任何Adobe Pro:

PDF Thumbnail Generator