首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyPdf合并错误

PyPdf合并错误
EN

Stack Overflow用户
提问于 2012-10-08 20:41:59
回答 1查看 862关注 0票数 1

当我合并几个Pdf页面使用PyPdf到一个单独的页面使用mergeTranslatedPage,我得到了一些未知的字符,这些未知的方块是字符没有包括在最后合并的页面,经过一些研究,我认为_merge_ressources的方法不是很好,因为后面的页面可能会覆盖较老的页面的资源来源,我尝试page1.compressContentStreams()后,每次合并,但没有结果。

this link中,您将看到已合并的PDF示例和PDF结果。

请帮个忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-14 04:06:35

下面的解决方案使用pdfjam命令将多个pdf页面合并为一个pdf页面。这是一个非常强大的命令,有许多不同的选项和很好的文档。我在您提供的两个文件4_P7.pdf和4_P13.pdf上测试了解决方案。您可以查看merged.pdf以验证所有字符的格式是否正确。下面的代码默认使用2x2网格,但您可以通过在调用merge时设置网格参数来更改此设置。

代码语言:javascript
复制
from subprocess import check_output

def merge(inputs, output, grid='2x2'):
    check_output(['pdfjam'] + inputs + ['--nup', grid, '--outfile', output])

merge(['4_P7.pdf', '4_P13.pdf'], 'merged.pdf')

下面的评论中有一个问题,即是否可以像问题示例文件中的情况那样自定义位置。下面实现了问题中提供的相同布局。它首先构建顶部布局,即4x2布局,然后构建底部2x6布局,最后将这两个布局合并到final.pdf中。以下示例中使用的pdf可以是found here

代码语言:javascript
复制
from subprocess import check_output

def merge(inputs, output, grid='2x2'):
    return check_output(['pdfjam'] + inputs + ['--nup', grid, '--outfile', output])

files = ['1.pdf', '2.pdf', '3.pdf', '4.pdf', '1.pdf', '2.pdf', '3.pdf', '4.pdf']
merge(files, 'top.pdf', '4x2')

files = ['1.pdf', '2.pdf', '3.pdf', '4.pdf', '5.pdf', '6.pdf', '1.pdf', '2.pdf',
    '3.pdf', '4.pdf', '5.pdf', '6.pdf']
merge(files, 'bottom.pdf', '2x6')

merge(['top.pdf', 'bottom.pdf'], 'final.pdf', '1x2')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12781994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档