2013-02-27 82 views
0

当前我有这种方法在页面的左上角绘制一个矩形。我想创建另一种方法,在我的扫描文档的四个角中的任意角落搜索矩形图。 我该如何去写一个方法,将检查每个角落的矩形绘图基于我创建绘制矩形。检测PDF页角上的矩形图页面

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); 
    } 
+0

你想使用的图像处理技术,找到矩形? – OopsUser 2013-02-27 19:29:42

+0

@OopsUser我不确定最有效的是什么。我正在阅读有关使用itextSharp,但我不知道什么是最好的方式,将工作。无论是在页面的所有四角找到图像更好还是检查一个角落并旋转文档直到找到图像(位图)。 – BB987 2013-02-27 19:35:04

回答

0

可能有很多技术如何使用第三方PDF阅读器API在PDF文件中查找图像。 但假设你找不到任何方法,并假设你可以阅读PDF文件并将它们转换为简单的图像,你可以很容易地找到你的矩形使用图像处理技术。

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

如果需要高性能还有其他的解决方案(如果是这种情况只写评论,我会点你到另一个方向)