0

一项任务:扫描 pdf 文件中的数据矩阵代码并将其保存到 csv。

文件

最终结果:010466010514027621)ZPTsFWoUgqe,91009492ZCUruNv8/rQRlZyH/mZhkRY11D5aW4aLjpVn3DVxFIi7l9gV/pvguWxiVnpTRI0SFkNx1dPavcQYjiQ6DCSnNw==

我无法在脑海中形成这段代码的结构。

我开始研究处理 pdf 文件的库,特别是 PyPDF2,但遇到了问题。PyPDF2 在文件中找不到任何内容。我试图在pdf文件的代码中找到序列,但什么都不懂。

请帮助我处理这段代码(写入 csv 除外)。有可能从 PDF 中提取信息而不渲染到图像中,因为大量代码和代码速度起着重要作用。

如果有人知道pdf的结构,请告诉我是否可以绘制出datamatrix代码的每个像素(黑色方块)的位置,是否可以将所有这些翻译成最终形式。

我将不胜感激任何信息。谢谢你。

4

1 回答 1

0

您可以使用我的解决方案:

import fitz, cv2, argparse
from pylibdmtx import pylibdmtx

def reader(pdf, csv):
    pdf_file = fitz.open(pdf)
    csv_file = open(csv, 'ab')
    for current_page_index in range(len(pdf_file)):
      for img_index,img in enumerate(pdf_file.get_page_images(current_page_index)):
        image = fitz.Pixmap(pdf_file, img[0])
        if image.height>50:
          image.save("1.png")
          img = cv2.imread('1.png')
          border = cv2.copyMakeBorder(img, 10, 10, 10, 10, cv2.BORDER_CONSTANT, None, value = [255, 255, 255]) 
          csv_file.write(pylibdmtx.decode(border)[0].data)
          csv_file.write(b'\n')
    csv_file.close()
于 2021-11-28T21:58:24.950 回答