@@ -6091,17 +6091,18 @@ def xref_object(self, xref, compressed=0, ascii=0):
60916091 """Get xref object source as a string."""
60926092 if self.is_closed:
60936093 raise ValueError("document closed")
6094- if g_use_extra:
6095- ret = extra.xref_object( self.this, xref, compressed, ascii)
6096- return ret
60976094 pdf = _as_pdf_document(self)
60986095 xreflen = mupdf.pdf_xref_len(pdf)
60996096 if not _INRANGE(xref, 1, xreflen-1) and xref != -1:
61006097 raise ValueError( MSG_BAD_XREF)
6101- if xref > 0:
6102- obj = mupdf.pdf_load_object(pdf, xref)
6103- else:
6104- obj = mupdf.pdf_trailer(pdf)
6098+ try:
6099+ if xref > 0:
6100+ obj = mupdf.pdf_load_object(pdf, xref)
6101+ else:
6102+ obj = mupdf.pdf_trailer(pdf)
6103+ except Exception:
6104+ message(f"No object at {xref=}")
6105+ return "null"
61056106 res = JM_object_to_buffer(mupdf.pdf_resolve_indirect(obj), compressed, ascii)
61066107 text = JM_EscapeStrFromBuffer(res)
61076108 return text
@@ -6152,7 +6153,7 @@ def xref_stream(self, xref):
61526153 xreflen = mupdf.pdf_xref_len( pdf)
61536154 if not _INRANGE(xref, 1, xreflen-1) and xref != -1:
61546155 raise ValueError( MSG_BAD_XREF)
6155- if xref >= 0:
6156+ if xref > 0:
61566157 obj = mupdf.pdf_new_indirect( pdf, xref, 0)
61576158 else:
61586159 obj = mupdf.pdf_trailer( pdf)
@@ -6170,7 +6171,7 @@ def xref_stream_raw(self, xref):
61706171 xreflen = mupdf.pdf_xref_len( pdf)
61716172 if not _INRANGE(xref, 1, xreflen-1) and xref != -1:
61726173 raise ValueError( MSG_BAD_XREF)
6173- if xref >= 0:
6174+ if xref > 0:
61746175 obj = mupdf.pdf_new_indirect( pdf, xref, 0)
61756176 else:
61766177 obj = mupdf.pdf_trailer( pdf)
0 commit comments