Я не слишком уверен, что лучший способ выразить это, но я хочу прочитать PDF-файл, внести различные изменения и сохранить измененный PDF-файл поверх исходного файла. На данный момент я могу сохранить измененный файл PDF в отдельный файл, но я хочу заменить оригинальный, а не создавать новый файл.
Вот мой текущий код:
from pyPdf import PdfFileWriter, PdfFileReader
output = PdfFileWriter()
input = PdfFileReader(file('input.pdf', 'rb'))
blank = PdfFileReader(file('C:\\BLANK.pdf', 'rb'))
# Copy the input pdf to the output.
for page in range(int(input.getNumPages())):
output.addPage(input.getPage(page))
# Add a blank page if needed.
if (input.getNumPages() % 2 != 0):
output.addPage(blank.getPage(0))
# Write the output to pdf.
outputStream = file('input.pdf', 'wb')
output.write(outputStream)
outputStream.close()
Если я изменю outputStream
на другое имя файла, оно будет работать нормально, я просто не смогу сохранить поверх входного файла, потому что он все еще используется. Я пытался .close()
стримировать, но это также давало мне ошибки.
У меня такое ощущение, что у этого есть довольно простое решение, просто мне не повезло найти его.
Спасибо!