Как создать изображение из 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.
Шаги для использования образца:
Нарисуйте прямоугольник в области, используя аннотацию формы, как вы использовали на скриншоте.
Сохраните изменения в PDF-документе, используя кнопку "Сохранить" на
PdfViewerControl
,Нажмите кнопку "Открыть 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
Пожалуйста, попробуйте этот образец и сообщите нам, соответствует ли он вашим требованиям.
В противном случае, предоставьте нам конкретные данные, такие как снимок экрана с требуемым результатом, образец, который вы использовали, и другие сведения (если таковые имеются). Нам будет полезно проанализировать больше и предоставить вам лучшее решение.