报错TypeError: 'Pixmap' object is not subscriptable
时间: 2023-07-01 12:24:54 浏览: 181
Vue 报错TypeError: this.$set is not a function 的解决方法
这个错误的原因是在获取像素点信息时使用了错误的方式。下面是修改后的程序:
```python
import os
import fitz
def check_pdf(filename):
doc = fitz.open(filename)
page_count = doc.page_count
for i in range(page_count):
page = doc[i]
pix = page.get_pixmap()
width, height = pix.width, pix.height
r, g, b = pix.pixel(0, 0)
for x in range(width):
for y in range(height):
if pix.pixel(x, y) != (r, g, b):
return False
return True
def check_folder(folder_path):
results = []
for filename in os.listdir(folder_path):
if filename.endswith('.pdf'):
filepath = os.path.join(folder_path, filename)
result = check_pdf(filepath)
if result:
doc = fitz.open(filepath)
results.append((filename, doc.page_count))
return results
folder_path = 'pdf_folder'
results = check_folder(folder_path)
if results:
print('符合要求的PDF文件:')
for result in results:
print(f'文件名:{result[0]},页码:{result[1]}')
else:
print('没有符合要求的PDF文件')
```
主要修改的是获取像素点信息的方式。我们使用了 `pix.pixel(x, y)` 获取像素点的RGB值,并且在第一个像素点处获取了RGB值。
阅读全文