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


Полный код

using SkiaSharp;
using System;
using System.IO;

namespace Sample
{
    class Sample
    {
        static void Main(string[] args)
        {
            // Get your free 30-day key here:   
            // https://sautinsoft.com/start-for-free/

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


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

            f.OpenPdf(pdfPath);

            if (f.PageCount > 0)
            {
                //Let's convert 1st page into System.Drawing.Image object, 120 dpi
                f.ImageOptions.Dpi = 120;
                SKBitmap img = f.ToDrawingImage(1);

                //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)
			' Get your free 30-day key here:   
			' https://sautinsoft.com/start-for-free/

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


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

			f.OpenPdf(pdfPath)

			If f.PageCount > 0 Then
				'Let's convert 1st page into System.Drawing.Image object, 120 dpi
				f.ImageOptions.Dpi = 120
				Dim img As SkiaSharp.SKBitmap = f.ToDrawingImage(1)

				'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


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу [email protected] или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



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

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