将PDF转换为一系列图像C#

时间:2017-04-10 07:35:22

标签: c# asp.net

我正在寻找免费/开源库,这使我能够将PDF文件转换为一系列JPEG图像。

我以前使用Apache PDF Box在Java中完成了这个,所以我正在寻找类似于我正在开发的ASP .NET项目。

到目前为止我找到的图书馆有一些我无法使用的限制:

  • Ghostscript - 需要在服务器上安装单独的应用程序
  • PDFSharp - 从PDF中提取图像,严重依赖于PDF合成,不适用于某些文件
  • ItextSharp - 显然无法将PDF页面转换为JPEG,与PDFSharp类似的问题

对工作库的任何指导使我能够将PDF转换为具有工作示例的一系列图像,这将是非常棒的。

与此同时,我会继续挖掘,如果弹出任何东西,我会加上答案。

1 个答案:

答案 0 :(得分:3)

这段代码对我有用。它使用PdfiumViewer库。

private static Image GetPageImage(int pageNumber, Size size, PdfiumViewer.PdfDocument document, int dpi)
{
    return document.Render(pageNumber - 1, size.Width, size.Height, dpi, dpi, PdfRenderFlags.Annotations);
}

private void RenderPage(string pdfPath, int pageNumber, Size size, string outputPath)
{
    using (var document = PdfiumViewer.PdfDocument.Load(pdfPath))
    using (var stream = new FileStream(outputPath, FileMode.Create))
    using (var image = GetPageImage(pageNumber, size, document, 150))
    {
        image.Save(stream, ImageFormat.Jpeg);
    }
}