我有一个 pdf 格式的扫描文件,有时扫描的文件可能会颠倒或翻转。我希望能够将文档旋转为正确的阅读格式。此外,扫描的文档已经有 QR 码,是否有办法检测 QR 码的位置,因为正确的对齐方式是 QR 码必须位于左上角。这样文本也是正确的。
这就是我所拥有的 - 它可以很好地旋转倒置的文档,但是如果以正确的格式扫描文档,它会将其倒置保存。
if(page.Rotate != 180)
page.Rotate = (page.Rotate + 180)%360;
只需尝试翻转和旋转的所有组合,寻找正确位置和方向的 QR 码。在伪代码中:
images = array()
images[0] = masterimage.flip(false).rotate(0)
images[1] = masterimage.flip(false).rotate(180)
images[2] = masterimage.flip(true).rotate(0)
images[3] = masterimage.flip(true).rotate(180)
for i = 0...3
if qrCodePlacedCorrectly(images[i])
output = images[i]
quit
困难的部分是检测二维码。它应该是可行的,因为它们是方形的,总是有三个保证的点;右上角、左上角和左下角。 这个 SO question应该有助于检测 QR 码。