Python中如何处理PDF文件的问题
现在情况是这样,我在处理 pdf 文件的时候遇到了一个水印 对应读取的一个元素是 FormXob.86cdf15f1994e2f2b7032e461
我现在想办法处理
把得到的这个元素给排除掉放进新的 pdf 里面 如何解决呢?
我用的是 Py2PDF
读取的一页元素如下,里面包含了 Formxob {'/Parent': IndirectObject(1, 0), '/Contents': IndirectObject(22, 0), '/Tabs': '/S', '/Resources': {'/XObject': {'/Image5': IndirectObject(23, 0), '/FormXob.86cdf15f1994e2f2b7032e461afd4234': IndirectObject(25, 0)}, '/ExtGState': {'/Xi0': IndirectObject(26, 0), '/gRLs0': {'/ca': 0.13}}, '/Font': {'/F1renamed': {'/Encoding': '/WinAnsiEncoding', '/Type': '/Font', '/Name': '/F1', '/BaseFont': '/Helvetica', '/Subtype': '/Type1'}, '/F1': IndirectObject(27, 0), '/Xi2': IndirectObject(35, 0), '/Xi1': IndirectObject(38, 0)}, '/ProcSet': ['/Text', '/ImageC', '/ImageB', '/PDF', '/ImageI']}, '/Group': {'/Type': '/Group', '/S': '/Transparency', '/CS': '/DeviceRGB'}, '/MediaBox': [0, 0, 720, 405], '/Type': '/Page', '/StructParents': 0}
请问现在如何解决呢?
Python中如何处理PDF文件的问题
在Python里处理PDF,我一般用PyPDF2和pdfplumber。PyPDF2适合基础操作,pdfplumber能提取表格和文字。
比如用PyPDF2合并PDF:
from PyPDF2 import PdfMerger
merger = PdfMerger()
merger.append("file1.pdf")
merger.append("file2.pdf")
merger.write("merged.pdf")
merger.close()
用pdfplumber提取表格:
import pdfplumber
with pdfplumber.open("data.pdf") as pdf:
for page in pdf.pages:
table = page.extract_table()
if table:
for row in table:
print(row)
要创建PDF就用reportlab:
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
c = canvas.Canvas("hello.pdf", pagesize=letter)
c.drawString(100, 750, "Hello PDF")
c.save()
简单说就是:PyPDF2处理页面,pdfplumber提取内容,reportlab创建文件。
getpage 以及 mergePage,水印也是一页叠加的 page,可以看看是否有 deleltepage 的操作。

