python - 使用 PyPDF2 为 pdf 页面添加边距

标签 python pdf printing formatting margin

我正在创建一个 python 脚本,它可以修改要在书籍部分打印的 pdf 文件。因为ubuntu的打印设置里没有这个功能。

PyPDF2 是一个很棒的工具,除了添加边距外,我可以用它做我想做的一切。

例如考虑这本书。
http://www.edwardothorp.com/sitebuildercontent/sitebuilderfiles/beatthemarket.pdf 它需要一些边距,以便有一些空间将它们装订成书。 我找到了将内容移动几个像素的方法,但“ Canvas ”的大小没有改变,所以一些内容被截断了。

我可以通过更改媒体框大小来使用 PyPDF2 调整“页面大小”,但我只能裁剪页面,无法增加它们的大小。 为了增加边距,我必须增加尺寸。 我也无法缩小内容,因为出于某种原因,页面大小会随之缩小。

如果你想打印一本书,这里是脚本。 http://pastebin.com/LGYhKYu1 当然,它只适用于已经有一些边距的 pdf,因此您只需要移动内容即可。

如果有人能指出如何使用 PyPDF2 为 pdf 添加边距,我将不胜感激,我一定是忽略了一些东西。

谢谢!

最佳答案

似乎没有专门的方法,但你可以创建一个所需大小的空白页面,然后将你的内容与空白页面合并

page = PageObject.createBlankPage(
        yourPage.mediaBox.getWidth () + 2 * margin,  
        yourPage.mediaBox.getHeight() + 2 * margin)
page.mergeScaledTranslatedPage( yourPage, scale, leftMargin, bottomMargin)    
...
output = PdfFileWriter()
output.addPage(page)

关于python - 使用 PyPDF2 为 pdf 页面添加边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26204307/

相关文章:

Python为mysql创建动态select语句

pdf - 使用 imagemagick 无损旋转 PDF 文件

python - 从另一个列表中删除一个列表中对应于 nan 的项目

python - 如何找到Qt库位置

php - 自 2008 年以来更新了在页面中嵌入 PDF 文件的方法?

c# - 如何使用 ASP.net 打印标签中的数据?

javascript - 禁用 javascript 进行打印?

windows - 直接访问Windows虚拟打印机端口

python - 进行迁移后,Django 新属性未显示在管理仪表板中

iphone - 如何显示可在 iOS 中打开 PDF 的外部应用程序列表?