Как создать снимок экрана и сохранить его в формате PDF используя C#


Скриншот, также известный как снимок экрана, или захват экрана, представляет собой цифровое изображение, которое показывает содержимое дисплея компьютера или другого устройства (телефона, планшета). Снимок экрана создается операционной системой или программным обеспечением, запущенным на устройстве, питающем дисплей.

Это означает, что на изображении будет показан Ваш рабочий стол, открытые приложения, электронная почта с перепиской, какие вкладки открыты на Вашем компьютере или ноутбуке, какой документ Вы в данный момент просматриваете.

По умолчанию скриншот занимает всю страницу на экране. Программно Вы можете задать нужную область или обрезать изображение в стороннем приложении.

Скриншоты используются для технической помощи в службе поддержки, обмена информацией между сотрудниками по домашнему заданию и удаленной работе. Также скриншоты часто используются для подтверждения оплаты счетов, личной или деловой переписки, указания местоположения на карте, снимков с камер наблюдения.

В приведенном ниже примере кода показано, как создать скриншот и сохранить его в формате PDF.


           using System;
using System.IO;
using System.Text;
using System.Drawing;
using System.Drawing.Imaging;
using SautinSoft;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)

        {
            // Convert Screenshot to PNG file.
            SautinSoft.PdfVision v = new SautinSoft.PdfVision();

            string screen = @"screenshot.png";
            v.PageStyle.PageSize.Auto();

            // Create screen with 1920*1040 px.
            Rectangle rect = new Rectangle(0, 0, 1920, 1040);
            Bitmap bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
            Graphics g = Graphics.FromImage(bmp);
            g.CopyFromScreen(rect.Right, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);
            bmp.Save(screen, ImageFormat.Png);

            // Create object of Image class from file.
            System.Drawing.Image image = Image.FromFile(screen);

            byte[] imgBytes = null;

            using (MemoryStream ms = new System.IO.MemoryStream())
            {
                image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                imgBytes = ms.ToArray();
            }

            // Convert image stream to PDF file.
            FileInfo outFile = new FileInfo(@"Result.pdf");
            int ret = v.ConvertImageStreamToPDFFile(imgBytes, outFile.FullName);
            if (ret == 0)
            {
                // Open the resulting PDF document in a default PDF Viewer.
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile.FullName) { UseShellExecute = true });
            }
        }
    }
}
                   

В результате получается скриншот рабочего стола в форматах PNG и PDF для дальнейшего использования.


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



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

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