c# - 如何从pdf矩形创建图像

时间:2016-10-19 08:39:13

标签: c# image pdf syncfusion pdfviewer

有没有办法使用矩形来创建基于pdf的图像?

即时通讯使用syncfusion pdfviewer(使用无限制固定费用许可证)。这就是我使用c#

从pdf创建图像的方法
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 );

我的代码问题是我正在捕捉我的屏幕。所以当我调整我的程序时。它将捕获屏幕并导致错误的图像

那么有没有办法使用c#将具有矩形的pdf页面转换或转换为图像?谢谢

enter image description here

更新

如果我的问题不明确,我很抱歉。

例子。我使用pdfviewer of syncfusion

为pdf绘制一个矩形

enter image description here

输出将是这样的

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 个答案:

答案 0 :(得分:1)

在分析了附加的屏幕截图后,我们发现您在WPF平台中使用PdfViewerControl。根据您的要求,我们创建了一个示例,使用PDF Viewer将具有矩形的pdf页面转换为图像。

使用样本的步骤:

  1. 使用形状注释在区域中绘制矩形,就像在屏幕截图中使用的那样。

  2. 使用PdfViewerControl的“保存”按钮保存PDF文档中的更改。

  3. 单击“打开PDF和ExportAsImage”按钮,将具有矩形的页面导出到图像。

  4. 请找到使用的代码段将具有矩形的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

    请尝试此示例,并告知我们是否符合您的要求。

    否则请向我们提供具体的详细信息,例如所需输出的屏幕截图,您使用的样本以及其他详细信息(如果有)。我们分析更多信息并为您提供更好的解决方案将会对您有所帮助。