Преобразование PDF в изображение без использования Ghostscript DLL - программирование
Подтвердить что ты не робот

Преобразование PDF в изображение без использования Ghostscript DLL

Есть ли способ, я могу преобразовать HTML-документ (файл не URL) в изображение или PDF в изображение?

Я могу сделать это, используя Ghostscript DLL, есть ли другой способ, я могу это сделать, не используя Ghostscript DLL?

Я разрабатываю приложение Windows С#.

4b9b3361

Ответ 1

Используйте LibPdf для преобразования PDF в Image

Библиотека LibPdf конвертирует PDF файл в изображение. Поддерживаемые форматы изображений - PNG и BMP, но вы можете легко добавить больше.

Пример использования:

using (FileStream file = File.OpenRead(@"..\path\to\pdf\file.pdf")) // in file
{
    var bytes = new byte[file.Length];
    file.Read(bytes, 0, bytes.Length);
    using (var pdf = new LibPdf(bytes))
    {
        byte[] pngBytes = pdf.GetImage(0,ImageType.PNG); // image type
        using (var outFile = File.Create(@"..\path\to\pdf\file.png")) // out file
        {
            outFile.Write(pngBytes, 0, pngBytes.Length);
        }
    }
}

ImageMagick, вы также должны посмотреть на этот свободно доступный и мощный инструмент. Он способен делать то, что вам нужно, а также предоставляет некоторые привязки .NET(а также привязки к нескольким другим языкам).

В своей простейшей форме это точно так же, как написать команду

convert file.pdf imagefile.png

Ответ 2

Вы можете использовать ниже любой библиотеки для преобразования PDF в изображение

Используйте Aspose.pdf ссылку ниже: http://www.aspose.com/docs/display/pdfnet/Convert+all+PDF+pages+to+JPEG+Images

пример кода:

Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(MyPdfPath));
using (FileStream imageStream = new FileStream(MyOutputImage.png, FileMode.Create))
{
     Resolution resolution = new Resolution(300);
    PngDevice pngDevice = new PngDevice(resolution);
    pngDevice.Process(pdfDocument.Pages[PageNo], MyOutputImage);
    imageStream.Close();
}

Используйте ссылку Bytescout PDF Renderer ниже: http://bytescout.com/products/developer/pdfrenderersdk/convert-pdf-to-png-basic-examples

пример кода:

MemoryStream ImageStream = new MemoryStream();
RasterRenderer renderer = new RasterRenderer();
renderer.RegistrationName = "demo";
renderer.RegistrationKey = "demo";
// Load PDF document.
renderer.LoadDocumentFromFile(FilePath);
for (int i = 0; i < renderer.GetPageCount(); i++)
{
    // Render first page of the document to PNG image file.
    renderer.RenderPageToStream(i, RasterOutputFormat.PNG, ImageStream);
}
Image im = Image.FromStream(ImageStream);
im.Save("MyOutputImage.png");
ImageStream.Close();