How to create image handler from pdf with pdflibnet?

Viewed 81

i used PDFLIBNET to convert pdf to image :

    public void ConvertPDFtoPNG(string filename, String dirOut)
    {
        try
        {
            PDFLibNet.PDFWrapper _pdfDoc = new PDFLibNet.PDFWrapper();
            _pdfDoc.LoadPDF(filename);
            System.Drawing.Image img = RenderPage(_pdfDoc, 0);
            img.Save(Path.Combine(dirOut, Path.GetFileNameWithoutExtension(filename) + ".png"));
            _pdfDoc.Dispose();
            return;
        }
        catch
        {
            File.Copy(System.IO.Path.Combine(Environment.CurrentDirectory, "0.png"), Path.GetFileNameWithoutExtension(filename) + ".png");
        }
    }

This code is working properly But i need to use in image handler without saving image I change this code to use MemoryStream but get gray image :

public string ConvertPDFtoPNG(string filename)
{

    PDFLibNet.PDFWrapper _pdfDoc = new PDFLibNet.PDFWrapper();
    _pdfDoc.LoadPDF(filename);
    System.Drawing.Image img = RenderPage(_pdfDoc, 0);
    MemoryStream ms = new MemoryStream();
    img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    _pdfDoc.Dispose();

    base64String = Convert.ToBase64String(ms.ToArray(), 0, ms.ToArray().Length);
}

please help me
thanks

1 Answers

Try this:

var b = File.ReadAllBytes(filename);
using (var ms = new MemoryStream(b))
{
   var i = Image.FromStream(ms);
   i.Save(ms, ImageFormat.Jpeg);
}
Related