C# 检测PDF页面角上的矩形图形

C# 检测PDF页面角上的矩形图形,c#,asp.net,pdf,drawing,C#,Asp.net,Pdf,Drawing,目前,我有一个在页面左上角绘制矩形的方法。我想创建另一种方法,在扫描文档的四个角中搜索矩形图形。 如何编写一个方法,根据我为绘制矩形而创建的内容检查矩形图形的每个角 static void AddQRTag(PdfSharp.Drawing.XGraphics gfx, int xPosition, int yPosition, string QRdata, string HRdata) { gfx.DrawRectangle(XBrushes.White, xPosit

目前,我有一个在页面左上角绘制矩形的方法。我想创建另一种方法,在扫描文档的四个角中搜索矩形图形。 如何编写一个方法,根据我为绘制矩形而创建的内容检查矩形图形的每个角

static void AddQRTag(PdfSharp.Drawing.XGraphics gfx, int xPosition, int yPosition, string QRdata, string HRdata)
    {
        gfx.DrawRectangle(XBrushes.White, xPosition, yPosition, xPosition + 55, yPosition + 85);

        PdfSharp.Drawing.XImage xImage =
            PdfSharp.Drawing.XImage.FromGdiPlusImage(BuildQR(QRdata.ToUpper(), 3,
                                            QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC, 2, QRCodeEncoder.ERROR_CORRECTION.M));
        gfx.DrawImage(xImage, xPosition + 5, yPosition + 5, xImage.PixelWidth * .8, xImage.PixelWidth * .8);


        //XFont font = new XFont("OCR B", 10, XFontStyle.Bold);
        XFont font = new XFont("OCR B", 6);
        XTextFormatter tf = new XTextFormatter(gfx);
        tf.Alignment = XParagraphAlignment.Left;

        //XStringFormat format = new XStringFormat();
        //format.Alignment = XStringAlignment.Near;
        XRect layout = new XRect(xPosition + 5, yPosition + 55, 55, 30);
        tf.DrawString(HRdata.ToUpper(), font, XBrushes.Black, layout, XStringFormats.TopLeft);
        //gfx.DrawString(HRdata, font, XBrushes.Black,layout,format);
    }

使用第三方PDF阅读器API查找PDF文件中的图像可能有很多技术。 但是假设你找不到任何方法可以做到这一点,并且假设你可以读取pdf文件并将其转换为简单的图像,那么你可以使用图像处理技术很容易地找到你的矩形

最简单(也是最可靠)的方法是使用简单的相关器查找矩形,如果不知道正方形的尺寸,可以使用不同的矩形运行相关器几次


如果您需要高性能,还有其他解决方案(如果是这种情况,请写一条评论,我将为您指出另一个方向)

是否要使用图像处理技术来查找矩形?@OopsUser我不确定哪种方法最有效。我读过关于使用itextSharp的文章,但我不确定哪种方法最有效。无论是在页面的所有四个角中查找图像更好,还是检查一个角并旋转文档直到找到图像(位图)。我需要高性能,您可以将我重定向到该解决方案吗!