Мой скрипт генерирует PDF (PyPDF2.pdf.PdfFileWriter object
) и сохраняет его в переменной.
Мне нужно работать с ним как file-like object
далее в сценарии. Но теперь я должен сначала записать его на HDD Затем я должен открыть его как файл для работы с ним.
Чтобы предотвратить это ненужные операции записи / чтения, я нашел много решений - StringIO
, BytesIO
и так далее. Но я не могу найти, что именно может помочь мне в моем случае.
Насколько я понимаю - мне нужно "преобразовать" (или записать в ОЗУ) PyPDF2.pdf.PdfFileWriter object
в file-like object
, чтобы работать непосредственно с ним.
Или есть другой метод, который точно соответствует моему случаю?
ОБНОВЛЕНИЕ - вот пример кода
from pdfrw import PdfReader, PdfWriter, PageMerge
from PyPDF2 import PdfFileReader, PdfFileWriter
red_file = PdfFileReader(open("file_name.pdf", 'rb'))
large_pages_indexes = [1, 7, 9]
large = PdfFileWriter()
for i in large_pages_indexes:
p = red_file.getPage(i)
large.addPage(p)
# here final data have to be written (I would like to avoid that)
with open("virtual_file.pdf", 'wb') as tmp:
large.write(tmp)
# here I need to read exported "virtual_file.pdf" (I would like to avoid that too)
with open("virtual_file.pdf", 'rb') as tmp:
pdf = PdfReader(tmp) # here I'm starting to work with this file using another module "pdfrw"
print(pdf)