我已经try 了pypdf和pdfrw中的merge_page方法,但它们使一个页面比另一个页面停滞,我该如何继续? 下面是我try 过的代码,与这两个模块类似
from pdfrw import PdfReader, PdfWriter, PageMerge
def merge_pdf_pages(input_file='input.pdf'):
# Read the input PDF file
reader = PdfReader(input_file)
writer = PdfWriter()
pages = PageMerge()
for page in reader.pages:
pages.add(page)
writer.addpage(pages.render())
with open("output.pdf",'wb') as file:
writer.write(file)
# Example usage
merge_pdf_pages('input.pdf')
我的目标是将所有PDF内容合并成一个大页面,这样我就可以制作大小相等的小页面块,因为我不能合并,我已经实现了后来的逻辑.以下样式仍未完成,仅供参考
pdf = PdfReader(input_file)
writer = PdfWriter()
for page in pdf.pages:
_mb = page.mediabox
width = _mb.width
while True:
_mb.bottom = max(_mb.top-max_dim_val,0)
#--------------------------------------------------
if width > max_dim_val:
# width split for each height split
_mb.right = 0
while True:
_mb.right = min(_mb.right+max_dim_val,width)
writer.add_page(page)
if _mb.left+max_dim_val <= width:
_mb.left += max_dim_val
else:
_mb.left = _mb.right = 0
break
#--------------------------------------------------
else:writer.add_page(page)
if _mb.top >= max_dim_val:
_mb.top -= max_dim_val
else:break
with open("output.pdf",'wb') as file:
writer.write(file)
我基本上已经try 了所有的方法,有没有一种方法可以通过操作文件字节来实现?