0

我正在尝试在 PDF 中搜索字符串并突出显示它们并使用 Python 保存它。数据文件是一个 excel 表(第 2 列),并且还包含特殊字符。我尝试为此使用 PyMuPDF lib,但它给出了以下错误:“ 在此处输入图像描述

下面是使用的代码:

#pip install pymupdf
#Library to interact with pdfs
import fitz
import time 
#pip install xlrd
#lib to read excel files
#import xlrd

#Opening the excel file and the specified sheet. Excel File path to be supplied here
wb = xlrd.open_workbook('C:\\Users\\xyz\\Desktop\\PDF Property File.xlsx')
sh = wb.sheet_by_index(0)

#Read data from column:
value_list=sh.col_values(1, start_rowx=1)

### READ IN PDF
## Give the pdf file path here 
doc = fitz.open(r'C:\\Users\\xyz\Desktop\\Test Demo--All Filled.pdf')
page = doc[0]

##IO operaiton 
import os

for page in doc:
    for i in value_list:
        #print(i)
        text_instances = page.searchFor(i)
        timestr = time.strftime("%Y%m%d-%H%M%S")
        for inst in text_instances:
            highlight = page.addHighlightAnnot(inst)
doc.save(r"C:\Users\xyz\Desktop\Output\PDF"+ timestr +".pdf"   , garbage=4, deflate=True, clean=True)
os.system(r'C:\Users\xyz\Desktop\Output\PDF'+ timestr +".pdf")
4

2 回答 2

0

您的错误的解释:中的条目value_list不是字符串。我不知道 xlrd 包,所以我无法给出如何改变它的建议......

于 2020-06-11T20:25:34.880 回答
0

添加 str() for i 将解决问题。

将“text_instances = page.searchFor(i)”行更改为 text_instances = page.searchFor(str(i))。

于 2021-05-20T09:02:11.593 回答