【问题标题】:c# - How to create an image from a pdf rectanglec# - 如何从 pdf 矩形创建图像
【发布时间】:2016-10-19 08:39:12
【问题描述】:

有没有办法使用矩形创建基于 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 页面转换为图像?谢谢

更新:

如果我的问题不清楚,我很抱歉。

例子。我使用syncfusion的pdfviewer在pdf上画了一个矩形

输出会是这样的

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

如果我的问题不清楚,我很抱歉

【问题讨论】:

    标签: c# image pdf syncfusion pdfviewer


    【解决方案1】:

    分析所附截图后,我们发现您在 WPF 平台上使用的是PdfViewerControl。根据您的要求,我们创建了一个示例,以使用 PDF 查看器将具有矩形的 pdf 页面转换为图像。

    使用示例的步骤:

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

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

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

    请找到代码 sn-p 用于将具有矩形的 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 

    请试试这个样品,让我们知道它是否符合您的要求。

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

    【讨论】:

    • 谢谢。但它并不意味着那样。我需要将 pdf 的矩形部分导出为图像。不是整个pdf作为图像先生。我更新了我的问题先生。带有额外的屏幕截图。如果我的问题不清楚,我真的很抱歉
    猜你喜欢
    • 2020-01-09
    • 2014-05-13
    • 2016-08-09
    • 1970-01-01
    • 2013-11-13
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多