开发者

Manipulate and print to PDF files in a script

I have several pdf files of some lecture slides. I want to do the following: print every pdf file to another pdf file开发者_Python百科 in which there are 6 slides per page and then merge all the resulting files to one big file while making sure that every original file starts on an odd page number (Edit: obviously, it will be printed in duplex) (possibly adding blank pages when necessary). Is that possible?

Edit: For those interested, this is for printing a LOT of course material for an exam... And I need to do this for a lot of courses.


If it were me, I would use PDFjam or a similar tool to perform the 6-up on each of the source documents.

I would then use PyPDF to calculate the number of pages in each, add a blank page if necessary, and merge the rest of the pages. Something like:

blank_page = PDFFileReader('blank.pdf').pages[0]
dest = PDFFileWriter()
for source in sources:
    PDF = PDFFileReader(source)
    dest.addPage(PDF.pages)
    if PDF.numPages % 2: #odd number of pages in source
        dest.addPage(blank_page)

It appears PyPDF does also have support for merging pages with resize and relocate, so theoretically, it should also work for creating an n-up document, though I see no example code for that.


For putting multiple slides on one page, pdfnup from the PDFjam package is your friend.

For inserting the blank pages, I'm not sure; maybe you can convince pdfjam to do this as well. But can't you just turn off duplexing in the print settings?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜