python-3.x - 使用 PyPDF2 解压缩 PDF FlateDecode 过滤器注释
问题描述
我正在尝试使用以下代码通过 PyPDF2 提取 PDF 文件中超链接的目标或 uri,但我遇到了一些编码的目标。我试图通过filter.decodeStreamData()
;来解压它们。但是,我的结果仍然不可读:(
我无法解决问题,请帮助。
import PyPDF2
import zlib
from PyPDF2 import filters
PDFFile = open()
PDF = PyPDF2.PdfFileReader(PDFFile)
pages = PDF.getNumPages()
annotatn = '/Annots'
hyperlink = '/A'
ob = {'/URI', '/D'}
for page in range(pages):
print("Current Page: {}".format(page+1))
pageSliced = PDF.getPage(page)
pageObject = pageSliced.getObject()
if annotatn in pageObject.keys():
i = 0
for annot in pageObject[annotatn]:
i = i + 1
print("Link {}".format(i))
ann = annot.getObject()
if '/Dest' in ann.keys():
dest = ann['/Dest'][0].getObject()
data = dest['/Contents'].getObject()
s = data._data
contnt = filters.decodeStreamData(data)
if hyperlink in ann.keys():
links = ann[hyperlink]
for link in links:
if link in ob:
print(ann[hyperlink][link])
解决方案
推荐阅读
- google-bigquery - 获取 BigQuery 外部表的 GCS 路径元数据
- php - 即使我已经在 HTTPS 下,Laravel 也会重定向到 HTTPS
- xamarin - 如何从 AppCenter 关联 UserId 和 User_Id
- ios - 将 UIView 包裹在 SwiftUI 周围,触摸和绘制的坐标现在没有对齐?
- javascript - 将数据从 JS 变量解析到 Vue 实例
- javascript - Taiwlind CSS:样式在生产中不加载,在开发中工作。将 Next.js 与 MDX 一起使用
- python - 如何使用相机计算正方形物体相对于二维平面图像的角度?
- jgrapht - jGraphT - 删除一个顶点并重新连接所有连接到已删除顶点的顶点
- python - 使用 Opencv 检测梯形和菱形时的容差问题
- python - 仅在 Beautifulsoup 中的特定 span 内容之后获取表格内容