(self, idx, buffer_=None, filename=None, ufilename=None, desc=None)
| 3713 | namelist.append(val) |
| 3714 | |
| 3715 | def _embfile_upd(self, idx, buffer_=None, filename=None, ufilename=None, desc=None): |
| 3716 | pdf = _as_pdf_document(self) |
| 3717 | xref = 0 |
| 3718 | names = mupdf.pdf_dict_getl( |
| 3719 | mupdf.pdf_trailer(pdf), |
| 3720 | PDF_NAME('Root'), |
| 3721 | PDF_NAME('Names'), |
| 3722 | PDF_NAME('EmbeddedFiles'), |
| 3723 | PDF_NAME('Names'), |
| 3724 | ) |
| 3725 | entry = mupdf.pdf_array_get(names, 2*idx+1) |
| 3726 | |
| 3727 | filespec = mupdf.pdf_dict_getl(entry, PDF_NAME('EF'), PDF_NAME('F')) |
| 3728 | if not filespec.m_internal: |
| 3729 | RAISEPY( "bad PDF: no /EF object", JM_Exc_FileDataError) |
| 3730 | res = JM_BufferFromBytes(buffer_) |
| 3731 | if buffer_ and buffer_.m_internal and not res.m_internal: |
| 3732 | raise TypeError( MSG_BAD_BUFFER) |
| 3733 | if res.m_internal and buffer_ and buffer_.m_internal: |
| 3734 | JM_update_stream(pdf, filespec, res, 1) |
| 3735 | # adjust /DL and /Size parameters |
| 3736 | len, _ = mupdf.fz_buffer_storage(res) |
| 3737 | l = mupdf.pdf_new_int(len) |
| 3738 | mupdf.pdf_dict_put(filespec, PDF_NAME('DL'), l) |
| 3739 | mupdf.pdf_dict_putl(filespec, l, PDF_NAME('Params'), PDF_NAME('Size')) |
| 3740 | xref = mupdf.pdf_to_num(filespec) |
| 3741 | if filename: |
| 3742 | mupdf.pdf_dict_put_text_string(entry, PDF_NAME('F'), filename) |
| 3743 | |
| 3744 | if ufilename: |
| 3745 | mupdf.pdf_dict_put_text_string(entry, PDF_NAME('UF'), ufilename) |
| 3746 | |
| 3747 | if desc: |
| 3748 | mupdf.pdf_dict_put_text_string(entry, PDF_NAME('Desc'), desc) |
| 3749 | return xref |
| 3750 | |
| 3751 | def _extend_toc_items(self, items): |
| 3752 | """Add color info to all items of an extended TOC list.""" |
no test coverage detected