Преобразование пользовательской страницы PDF в SkiaSharp.SKBitmap в C# и .NET


Полный код

using SkiaSharp;
using System;
using System.IO;

namespace Sample
{
    class Sample
    {
        static void Main(string[] args)
        {
            // Before starting, we recommend to get a free 100-day key:
            // https://sautinsoft.com/start-for-free/

            // Apply the key here:
            // SautinSoft.PdfFocus.SetLicense("...");

            //Convert custom PDF page to Image object
            SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();


            string pdfPath = Path.GetFullPath(@"..\..\..\parkmap.pdf");
            string imagePath = "Result.jpg";

            f.OpenPdf(pdfPath);

            if (f.PageCount > 0)
            {
                //Let's convert 1st page into SKBitmap object, 300 dpi
                f.ImageOptions.Dpi = 300;
                f.ImageOptions.SelectedPages = new int[] { 0 };
                SKBitmap img = f.ToSKBitmap();

                //Save to file
                if (img != null)
                {
                    img.Encode(new FileStream(imagePath, FileMode.Create), SKEncodedImageFormat.Jpeg, 90);
                    System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(imagePath) { UseShellExecute = true });
                }
            }
        }
    }
}

Download

Imports SkiaSharp
Imports System
Imports System.IO

Namespace Sample
	Friend Class Sample
		Shared Sub Main(ByVal args() As String)
			' Before starting, we recommend to get a free 100-day key:
			' https://sautinsoft.com/start-for-free/

			' Apply the key here:
			' SautinSoft.PdfFocus.SetLicense("...");

			'Convert custom PDF page to Image object
			Dim f As New SautinSoft.PdfFocus()


			Dim pdfPath As String = Path.GetFullPath("..\..\..\parkmap.pdf")
			Dim imagePath As String = "Result.jpg"

			f.OpenPdf(pdfPath)

			If f.PageCount > 0 Then
				'Let's convert 1st page into SKBitmap object, 300 dpi
				f.ImageOptions.Dpi = 300
				f.ImageOptions.SelectedPages = New Integer() { 0 }
				Dim img As SkiaSharp.SKBitmap = f.ToSKBitmap()

				'Save to file
				If img IsNot Nothing Then
					img.Encode(New FileStream(imagePath, FileMode.Create), SKEncodedImageFormat.Jpeg, 90)
					System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(imagePath) With {.UseShellExecute = True})
				End If
			End If
		End Sub
	End Class
End Namespace

Download


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.