我可以从以下代码中获取标题:
from pyPdf import PdfFileReader
pdf_toread = PdfFileReader(open('NOID_body20160202T133650.pdf', "rb"))
pdf_info = pdf_toread.getDocumentInfo()
print pdf_info
将标题设置为新 PDFsetTitle
method
#- Create One Page PDF with some text
from reportlab.pdfgen import canvas as canx
c = canx.Canvas('transparent.pdf')
c.setTitle("Test to set Title")
Or:
import PyPDF2 as pdf
writeroutput = pdf.PdfFileWriter()
writeroutput.addMetadata({'/Title': u'Print Page Sizes'})
BookMark
首先从输入pdf这些代码中获取书签如何获取书签的页码 https://stackoverflow.com/questions/8329748/how-to-get-bookmarks-page-number
以下代码将书签添加到新的 PDF:
`
transparentbannerfile = open('transparent.pdf', 'rb')
testpagefile = open('NOID_body20160202T133650.pdf', 'rb')
outputfile = open('mergedtransparent112.pdf', 'wb')
import PyPDF2 as pdf
from collections import OrderedDict
readerbanner = pdf.PdfFileReader(transparentbannerfile)
readertestpages = pdf.PdfFileReader(testpagefile)
bannerpage = readerbanner.getPage(0)
writeroutput = pdf.PdfFileWriter()
for x in xrange(readertestpages.getNumPages()):
pagex = readertestpages.getPage(x)
pagex.mergePage(bannerpage)
writeroutput.addPage(pagex)
a = OrderedDict([(u'SIDDHARTHA', {'top': 750, 'left': 0, 'page': 1, 'title': u'SIDDHARTHA'}), (u'Chapter 01', {'top': 750, 'left': 0, 'page': 3, 'title': u'Chapter 01'}), (u'Chapter 02', {'top': 503, 'left': 0, 'page': 6, 'title': u'Chapter 02'}), (u'Chapter 03', {'top': 340, 'left': 0, 'page': 11, 'title': u'Chapter 03'}), (u'Chapter 04', {'top': 231, 'left': 0, 'page': 17, 'title': u'Chapter 04'}), (u'Chapter 05', {'top': 909, 'left': 0, 'page': 30, 'title': u'Chapter 05'}), (u'Chapter 06', {'top': 614, 'left': 0, 'page': 32, 'title': u'Chapter 06'}), (u'Chapter 07', {'top': 417, 'left': 0, 'page': 35, 'title': u'Chapter 07'}), (u'Chapter 08', {'top': 289, 'left': 0, 'page': 41, 'title': u'Chapter 08'})])
for i in a:
writeroutput.addBookmark(i, a[i]["page"]-1, a[i])
writeroutput.write(outputfile)
outputfile.close()
transparentbannerfile.close()
testpagefile.close()
`
现在如何处理嵌套书签:)??