我有一个 PDF,其中有一个大表拆分为页面,所以我需要将每页表连接到一个大页面中的一个大表中。
PyPDF2 或其他库可以做到这一点吗?
干杯
我有一个 PDF,其中有一个大表拆分为页面,所以我需要将每页表连接到一个大页面中的一个大表中。
PyPDF2 或其他库可以做到这一点吗?
干杯
只是在做类似的事情,它需要一个输入 pdf 并通过一个配置文件,您可以设置单页的最终模式。使用PyPDF2实现,但它仍然存在一些 pdf 文件的问题(必须深入挖掘)。 https://github.com/Lageos/pdf-stitcher
原则上,将页面权限添加到另一个页面的工作方式如下:
import PyPDF2
with open('input.pdf', 'rb') as input_file:
# load input pdf
input_pdf = PyPDF2.PdfFileReader(input_file)
# start new PyPDF2 PageObject
output_pdf = input_pdf.getPage(page_number)
# get second page PyPDF2 PageObject
second_pdf = input_pdf.getPage(second_page_number)
# dimensions for offset from loaded page (adding it to the right)
offset_x = output_pdf.mediaBox[2]
offset_y = 0
# add second page to first one
output_pdf.mergeTranslatedPage(second_pdf, offset_x, offset_y, expand=True)
# write finished pdf
with open('output.pdf', 'wb') as out_file:
write_pdf = PyPDF2.PdfFileWriter()
write_pdf.addPage(output_pdf)
write_pdf.write(out_file)
在下面添加页面需要offset_y
. 您可以从中获取金额offset_y = first_pdf.mediaBox[3]
。
问题似乎是表格在 pdf 中的表示不是很好,而是简单地由绝对定位的行组成(参见上面的第一个链接)。
以下是两种可能的解决方法(不确定他们是否会为您解决):
编辑
看看 libre office draw,另一个矢量包。我刚刚在其中打开了一个 pdf,它似乎保留了一些 pdf 结构并编辑了单个元素。
编辑 2 看看可能有帮助的pdftables 。
PDFTables 有助于从 PDF 文件中提取表格。
不过我还没有尝试过......可能有一段时间后看看我是否可以让它工作。