这段代码是用来比较两个pdf文件的内容是否相同,并生成有标注的对比文件。代码首先使用PyMuPDF库打开pdf文件,然后获取pdf文件中的文本内容。接着,将文本内容转换为列表,使用difflib库对比文本内容,生成有标注的对比文件。最后,将对比文件保存在第一个pdf文件所在目录下。
import os
file1 = input("请输入第一个pdf文件路径:")
file2 = input("请输入第二个pdf文件路径:")
# 使用PyMuPDF库打开pdf文件
import fitz
doc1 = fitz.open(file1)
doc2 = fitz.open(file2)
# 获取pdf文件中的文本内容
text1 = ""
text2 = ""
for page in doc1:
text1 += page.get_text()
for page in doc2:
text2 += page.get_text()
# 对比文本内容
if text1 == text2:
print("两个pdf文件内容相同")
else:
print("两个pdf文件内容不同")
# 生成对比文件
import difflib
# 将文本内容转换为列表
text1_lines = text1.splitlines()
text2_lines = text2.splitlines()
# 对比文本内容
d = difflib.Differ()
diff = d.compare(text1_lines, text2_lines)
# 生成有标注的对比文件
diff_html = difflib.HtmlDiff().make_file(text1_lines, text2_lines)
file1_path = os.path.dirname(file1)
with open(os.path.join(file1_path, "diff.html"), "w", encoding='utf-8') as f:
f.write(diff_html)
print("对比文件已生成")
网友评论