-
Notifications
You must be signed in to change notification settings - Fork 64
Open
Description
Version
PyPDFForm=3.8.2
Issue Description
If I use PyPDF to add metadata to a PDF, then create a PdfWrapper with that PDF, and create a field with that wrapper, the metadata is gone.
Code Snippet
from io import BytesIO
from typing import Optional
from pypdf import PdfReader, PdfWriter
from PyPDFForm import PdfWrapper, BlankPage, Fields
def add_meta_tag(writer: PdfWriter, key: str, value: str) -> PdfWriter:
"""Add a metadata tag to the PDF. Prepends a '/' to the key"""
key = "/" + key
writer.add_metadata({key: value})
return writer
def read_meta_tag(reader: PdfReader, key: str) -> Optional[str]:
"""Read a metadata tag from the PDF. Prepends a '/' to the key"""
key = "/" + key
return reader.metadata.get(key)
if __name__ == "__main__":
pdf_stream = BytesIO(PdfWrapper(BlankPage()).read())
writer = PdfWriter(pdf_stream)
writer = add_meta_tag(writer, "test_key", "test_value")
writer = add_meta_tag(writer, "other_key", "other_value")
writer.write(pdf_stream)
pdf_stream.seek(0)
wrapper = PdfWrapper(pdf_stream)
wrapper.create_field(Fields.TextField(name="Test", page_number=1, x=100, y=400))
new_stream = BytesIO(wrapper.read())
reader = PdfReader(new_stream)
print(read_meta_tag(reader, "test_key"))
print(read_meta_tag(reader, "other_key"))PDF Form Template
Screenshots (if applicable)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels