2014-10-05 202 views
1

我正在创建一个python脚本,该脚本可以修改要在书籍部分打印的pdf文件。由于ubuntu打印设置中没有这种功能。使用PyPDF2为pdf页面添加页边距

PyPDF2是一个奇妙的工具,我已经能够做我想要的一切,除了增加一个边距。

例如考虑这本书。
http://www.edwardothorp.com/sitebuildercontent/sitebuilderfiles/beatthemarket.pdf 它需要一些空白,这样在书中有一定的空间可以装订它们。 我发现如何将内容移动几个像素,但“画布”的大小不会改变,因此一些内容被切断。

我可以通过更改媒体大小来调整“页面大小”,但我只剪裁页面,我无法增加它们的大小。 并增加利润率,我必须增加大小。 我也无法收缩内容,因为由于某种原因页面尺寸随之缩小。

这是脚本,如果你想打印一本书。 http://pastebin.com/LGYhKYu1 当然,它只适用于PDF已经有一些利润,所以你只需要移动内容。

如果有人能指出如何使用PyPDF2为PDF添加页边距,我将不胜感激,我必须忽略一些东西。

谢谢!

回答

4

似乎没有专门的方法,但您可以创建所需大小的空白页面,然后用空页

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