【发布时间】:2020-04-28 00:20:34
【问题描述】:
我需要为新合并创建的 pdf 添加书签。我使用一个脚本,使用 pyPDF2 合并当前目录中的所有 pdf。我会很高兴用每个 pdf 的名称来构造书签。每个 PDF 可能有 1-2-3 页。
用于合并目录中所有 pdf 的代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from argparse import ArgumentParser
from glob import glob
from PyPDF2 import PdfFileReader, PdfFileWriter
import os
def merge(path, output_filename):
output = PdfFileWriter()
for pdffile in glob(path + os.sep + '*.pdf'):
if pdffile == output_filename:
continue
print("Se adauga '%s'" % pdffile)
document = PdfFileReader(open(pdffile, 'rb'))
for i in range(document.getNumPages()):
output.addPage(document.getPage(i))
print("S-a creat pdf '%s'" % output_filename)
with open(output_filename, "wb") as f:
output.write(f)
if __name__ == "__main__":
parser = ArgumentParser()
# Add more options if you like
parser.add_argument("-o", "--output",
dest="output_filename",
default="Test.pdf",
help="write merged PDF to FILE",
metavar="FILE")
parser.add_argument("-p", "--path",
dest="path",
default=".",
help="path of source PDF files")
args = parser.parse_args()
merge(args.path, args.output_filename)
【问题讨论】:
标签: python-3.x pdf bookmarks pypdf2