Чтение строки в PDF с использованием Python
Я пытаюсь написать программу, которая дает матрицу трассировки для требования -code- Test
для которого я не могу читать теги требований из PDF построчно из PDF.
Ниже программа, которую я попробовал.
import os, sys, time
import sys
import glob
import xlwt
sys.path.insert(0,'C:/Python27/xlwt-0.7.5')
import pyPdf
from StringIO import StringIO
import docx
req_path_py = os.path.dirname(os.path.abspath(__file__)) +"\\Requirement\\"
req_list = glob.glob("%s/*.pdf" %req_path_py)
def getPDFContent(path):
content = ""
# Load PDF into pyPDF
pdf = pyPdf.PdfFileReader(file(path, "rb"))
# Iterate pages
for i in range(0, pdf.getNumPages()):
# Extract text from page and add to content
content += pdf.getPage(i).extractText() + "\n"
# Collapse whitespace
content = " ".join(content.replace(u"\xa0", " ").strip().split())
return content
def topReq():
global req_path_py, req_list
with open("traceMetrix.txt","w") as txt:
txt.write("CSD ID \tSRD ID \tSDD ID\tCODE ID\tTEST ID\n")
pdfContent = StringIO(getPDFContent(req_list[0]).encode("ascii", "ignore"))
for line in pdfContent:
if '{CSD' in line:
txt.write(line)
if __name__ == "__main__":
topReq()
Содержание PDF выглядит как ниже
Trace:
{CSD-PROS-PLN-001}
Abc shall do abc
Trace:
{CSD-PROS-PLN-002}
Abc shall do abc
Trace:
{CSD-PROS-PLN-003}
Abc shall do abc
Также иногда некоторый контент будет внутри таблицы sy ниже запись находится внутри таблицы
Trace:
{CSD-PROS-PLN-003}
Abc shall do abc
Цель такого поиска: скажем, я получаю req верхнего уровня как "{CSD-PROS-PLN-003}", затем я буду искать в другом pdf / code/test производное требование / реализацию / test из этого требования.
Спасибо