我需要在最后一页的最后一段之后插入一些文字,我不确定是否可以找到最后一段的坐标。
据我所知,reportlab是处理pdf的最强大的库,但是如果可以通过另一个库实现则可以。
还要问是否可以复制(找到最后一段的名称和大小等字体属性)?
我有什么
from reportlab.pdfgen.canvas import Canvas
from pdfrw import PdfReader
from pdfrw.toreportlab import makerl
from pdfrw.buildxobj import pagexobj
input_file = 'abc.pdf'
output_file = 'def.pdf'
# Get pages
reader = PdfReader(input_file)
pages = [pagexobj(p) for p in reader.pages]
canvas = Canvas(output_file)
lastpage = pages[-1]
for page_num, page in enumerate(pages, start=1):
canvas.setPageSize((page.BBox[2], page.BBox[3]))
canvas.doForm(makerl(canvas, page))
if page == lastpage:
canvas.saveState()
# helpful code might come here
canvas.restoreState()
canvas.showPage()
canvas.save()
答案 0 :(得分:1)
解决方案是来自Yusuke Shinyama的Great pdfminer python库。他的项目有5星。
pdfminer目前仅适用于python2.7
使用
解压缩归档后从源代码安装sudo python setup.py install
安装后命令行工具pdf2txt.py可以像
一样使用/usr/local/bin/pdf2txt.py -t xml file.pdf > xmlfile.xml
包含所有需要的信息以及更多信息!