Как создать изображение из PDF-прямоугольника

Есть ли способ создать изображение на основе PDF, используя прямоугольник?

я использую syncfusion pdfviewer (используя неограниченную лицензию с фиксированной платой). и вот как я создаю изображение из PDF с помощью C#

private void ScreenCapture(string fileName, int x, int y, int width, int height)
        {
            try
            {

                if (x != 0 && y != 0 && width != 0 && height != 0)
                {
                    Rectangle rect = new Rectangle(x, y, width, height);
                    Bitmap bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
                    Graphics g = Graphics.FromImage(bmp);
                    g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);
                    bmp.Save(fileName, ImageFormat.Jpeg);
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
                MessageBox.Show(ex.StackTrace);
            }
            finally
            {

            }
        }

и это мой дополнительный код

по декларации

Point startPoint;

на мышь вниз

Control control = (Control)sender;

            startPoint = control.PointToScreen(new Point(e.X, e.Y));

на моей мышке

Point endPoint = ((Control)sender).PointToScreen(new Point(e.X, e.Y));
            int width = endPoint.X - startPoint.X;
            int height = endPoint.Y - startPoint.Y;
            theRectangle = new Rectangle(startPoint.X ,
                startPoint.Y, width, height );

проблема с моим кодом - это захват моего экрана. поэтому, когда я изменил размер моей программы. это захватит экран и приведет к неправильному изображению

так есть ли способ получить или преобразовать страницу PDF, которая имеет прямоугольник в изображение, используя C#? благодарю вас

введите описание изображения здесь

Обновить:

извините, если мой вопрос не ясен.

пример. я рисую прямоугольник в PDF, используя pdfviewer Syncfusion

введите описание изображения здесь

вывод будет примерно таким

https://drive.google.com/open?id=0B45rDxvaXzsmcTZIVVVSUU9Zc0E
https://drive.google.com/open?id=0B45rDxvaXzsmc1cxNTV4UUdOMUE
https://drive.google.com/open?id=0B45rDxvaXzsmSWtDRWhXYkpDT2c
https://drive.google.com/open?id=0B45rDxvaXzsmS214WmJnN3BvcUk

мне очень жаль, если мой вопрос не ясен

1 ответ

Проанализировав прикрепленный скриншот, мы обнаружили, что вы используете PdfViewerControl в платформе WPF. Согласно вашему требованию, мы создали образец для преобразования PDF-страницы с прямоугольником в изображение с помощью PDF Viewer.

Шаги для использования образца:

  1. Нарисуйте прямоугольник в области, используя аннотацию формы, как вы использовали на скриншоте.

  2. Сохраните изменения в PDF-документе, используя кнопку "Сохранить" на PdfViewerControl,

  3. Нажмите кнопку "Открыть PDF и ExportAsImage" для экспорта страницы с прямоугольником на изображение.

Найдите фрагмент кода, который используется для преобразования страницы PDF с прямоугольником в изображение:

PdfLoadedDocument ldoc = new PdfLoadedDocument(fileName); 

ldoc.Pages[0].Annotations.Flatten = true;
 

ldoc.Save(); 

Bitmap bmp = ldoc.ExportAsImage(0);
 

bmp.Save("outputImage.jpeg");

Вы можете скачать образец по ссылке ниже.

Пример ссылки: http://www.syncfusion.com/downloads/support/directtrac/166006/ze/SampleWPF734738560

Мы также создали видео демо для использования образца, и оно будет доступно по ссылке ниже.

Ссылка на видео: http://www.syncfusion.com/downloads/support/directtrac/166006/ze/ExportAsImage1083458687

Пожалуйста, попробуйте этот образец и сообщите нам, соответствует ли он вашим требованиям.

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

Другие вопросы по тегам