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

Function JM_xobject_from_page

src/__init__.py:21929–21961  ·  view source on GitHub ↗

Make an XObject from a PDF page For a positive xref assume that its object can be used instead

(pdfout, fsrcpage, xref, gmap)

Source from the content-addressed store, hash-verified

21927
21928
21929def JM_xobject_from_page(pdfout, fsrcpage, xref, gmap):
21930 '''
21931 Make an XObject from a PDF page
21932 For a positive xref assume that its object can be used instead
21933 '''
21934 assert isinstance(gmap, mupdf.PdfGraftMap), f'{type(gmap)=}'
21935 if xref > 0:
21936 xobj1 = mupdf.pdf_new_indirect(pdfout, xref, 0)
21937 else:
21938 srcpage = _as_pdf_page(fsrcpage.this)
21939 spageref = srcpage.obj()
21940 mediabox = mupdf.pdf_to_rect(mupdf.pdf_dict_get_inheritable(spageref, PDF_NAME('MediaBox')))
21941 # Deep-copy resources object of source page
21942 o = mupdf.pdf_dict_get_inheritable(spageref, PDF_NAME('Resources'))
21943 if gmap.m_internal:
21944 # use graftmap when possible
21945 resources = mupdf.pdf_graft_mapped_object(gmap, o)
21946 else:
21947 resources = mupdf.pdf_graft_object(pdfout, o)
21948
21949 # get spgage contents source
21950 res = JM_read_contents(spageref)
21951
21952 #-------------------------------------------------------------
21953 # create XObject representing the source page
21954 #-------------------------------------------------------------
21955 xobj1 = mupdf.pdf_new_xobject(pdfout, mediabox, mupdf.FzMatrix(), mupdf.PdfObj(0), res)
21956 # store spage contents
21957 JM_update_stream(pdfout, xobj1, res, 1)
21958
21959 # store spage resources
21960 mupdf.pdf_dict_put(xobj1, PDF_NAME('Resources'), resources)
21961 return xobj1
21962
21963
21964def PySequence_Check(s):

Callers 1

_show_pdf_pageMethod · 0.85

Calls 4

_as_pdf_pageFunction · 0.85
PDF_NAMEFunction · 0.85
JM_read_contentsFunction · 0.85
JM_update_streamFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…