MCPcopy Create free account
hub / github.com/pymupdf/PyMuPDF / set_markinfo

Method set_markinfo

src/__init__.py:6872–6893  ·  view source on GitHub ↗

Set the PDF MarkInfo values.

(self, markinfo: dict)

Source from the content-addressed store, hash-verified

6870 mupdf.pdf_select_layer_config_ui(pdf, number)
6871
6872 def set_markinfo(self, markinfo: dict) -> bool:
6873 """Set the PDF MarkInfo values."""
6874 xref = self.pdf_catalog()
6875 if xref == 0:
6876 raise ValueError("not a PDF")
6877 if not markinfo or not isinstance(markinfo, dict):
6878 return False
6879 valid = {"Marked": False, "UserProperties": False, "Suspects": False}
6880
6881 if not set(valid.keys()).issuperset(markinfo.keys()):
6882 badkeys = f"bad MarkInfo key(s): {set(markinfo.keys()).difference(valid.keys())}"
6883 raise ValueError(badkeys)
6884 pdfdict = "<<"
6885 valid.update(markinfo)
6886 for key, value in valid.items():
6887 value=str(value).lower()
6888 if value not in ("true", "false"):
6889 raise ValueError(f"bad key value '{key}': '{value}'")
6890 pdfdict += f"/{key} {value}"
6891 pdfdict += ">>"
6892 self.xref_set_key(xref, "MarkInfo", pdfdict)
6893 return True
6894
6895 def set_metadata(doc: 'Document', m: dict = None) -> None:
6896 """Update the PDF /Info object.

Callers

nothing calls this directly

Calls 3

pdf_catalogMethod · 0.95
xref_set_keyMethod · 0.95
updateMethod · 0.45

Tested by

no test coverage detected