0

我需要在最后一页的最后一段之后插入一些文本,不确定是否可以找到最后一段的坐标。

据我所知,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()
4

1 回答 1

2

解决方案在 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

包含所有需要的信息,还有更多信息!

于 2016-08-21T18:58:39.327 回答