<p>您已经将这个问题标记为“ghostscript”,但是我假设您使用<code>subprocess.call()</code>并不反对使用Python。在</p>
<p><a href="https://github.com/pmaupin/pdfrw" rel="nofollow noreferrer">pdfrw</a>Python库的pagemerge画布可以做到这一点。在examples目录和页面合并.py. 幻想_水印.py显示了在应用水印的上下文中处理不同页面大小的示例。在</p>
<p>pdfrw可以在输出上旋转、缩放或简单地定位源页面。如果需要旋转或缩放,可以在examples目录中查找。(因为这是家庭作业,为了获得额外的学分,你可以通过查看不同的页面大小来控制缩放和旋转。:)但如果您只想将第二页扩展到与第一页一样长,则可以使用以下代码:</p>
<pre><code>from pdfrw import PdfReader, PdfWriter, PageMerge
pages = PdfReader('hw1.pdf').pages + PdfReader('hw6.pdf').pages
output = PdfWriter()
rects = [[float(num) for num in page.MediaBox] for page in pages]
height = max(x[3] - x[1] for x in rects)
width = max(x[2] - x[0] for x in rects)
mbox = [0, 0, width, height]
for page in pages:
newpage = PageMerge()
newpage.mbox = mbox # Set boundaries of output page
newpage.add(page) # Add one old page to new page
image = newpage[0] # Get image of old page (first item)
image.x = (width - image.w) / 2 # Center old page left/right
image.y = (height - image.h) # Move old page to top of output page
output.addpage(newpage.render())
output.write('homeworks.pdf')
</code></pre>
<p>(免责声明:我是pdfrw的主要作者。)</p>