PDF文件生成Python工具包 pyPdf

jopen 10年前
     <p><em>PyPDF</em>这是一个用于构建PDF的纯Python工具包 。它能够实现:</p>    <ul>     <li>抽取文档信息(标题,作者等),</li>     <li>逐页页分割文档</li>     <li>逐页合并文档</li>     <li>裁剪页面,</li>     <li>合并多页成单页,</li>     <li>加密和解密PDF文件</li>    </ul>    <p>下面是一段使用的代码:</p>    <pre class="brush:python; toolbar: true; auto-links: false;">from pyPdf import PdfFileWriter, PdfFileReader  output = PdfFileWriter() input1 = PdfFileReader(file("document1.pdf", "rb"))  # print the title of document1.pdf print "title = %s" % (input1.getDocumentInfo().title)  # add page 1 from input1 to output document, unchanged output.addPage(input1.getPage(0))  # add page 2 from input1, but rotated clockwise 90 degrees output.addPage(input1.getPage(1).rotateClockwise(90))  # add page 3 from input1, rotated the other way: output.addPage(input1.getPage(2).rotateCounterClockwise(90)) # alt: output.addPage(input1.getPage(2).rotateClockwise(270))  # add page 4 from input1, but first add a watermark from another pdf: page4 = input1.getPage(3) watermark = PdfFileReader(file("watermark.pdf", "rb")) page4.mergePage(watermark.getPage(0))  # add page 5 from input1, but crop it to half size: page5 = input1.getPage(4) page5.mediaBox.upperRight = (     page5.mediaBox.getUpperRight_x() / 2,     page5.mediaBox.getUpperRight_y() / 2 ) output.addPage(page5)  # print how many pages input1 has: print "document1.pdf has %s pages." % input1.getNumPages()  # finally, write "output" to document-output.pdf outputStream = file("document-output.pdf", "wb") output.write(outputStream) outputStream.close()</pre>    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1326706123515" target="_blank">http://www.open-open.com/lib/view/home/1326706123515</a></p>    <p></p>