Set the PDF MarkInfo values.
(self, markinfo: dict)
| 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. |
nothing calls this directly
no test coverage detected