MCPcopy Create free account
hub / github.com/python-pillow/Pillow / write

Method write

src/PIL/PdfParser.py:178–215  ·  view source on GitHub ↗
(self, f: IO[bytes])

Source from the content-addressed store, hash-verified

176 ) | set(self.new_entries.keys())
177
178 def write(self, f: IO[bytes]) -> int:
179 keys = sorted(set(self.new_entries.keys()) | set(self.deleted_entries.keys()))
180 deleted_keys = sorted(set(self.deleted_entries.keys()))
181 startxref = f.tell()
182 f.write(b"xref\n")
183 while keys:
184 # find a contiguous sequence of object IDs
185 prev: int | None = None
186 for index, key in enumerate(keys):
187 if prev is None or prev + 1 == key:
188 prev = key
189 else:
190 contiguous_keys = keys[:index]
191 keys = keys[index:]
192 break
193 else:
194 contiguous_keys = keys
195 keys = []
196 f.write(b"%d %d\n" % (contiguous_keys[0], len(contiguous_keys)))
197 for object_id in contiguous_keys:
198 if object_id in self.new_entries:
199 f.write(b"%010d %05d n \n" % self.new_entries[object_id])
200 else:
201 this_deleted_object_id = deleted_keys.pop(0)
202 check_format_condition(
203 object_id == this_deleted_object_id,
204 f"expected the next deleted object ID to be {object_id}, "
205 f"instead found {this_deleted_object_id}",
206 )
207 try:
208 next_in_linked_list = deleted_keys[0]
209 except IndexError:
210 next_in_linked_list = 0
211 f.write(
212 b"%010d %05d f \n"
213 % (next_in_linked_list, self.deleted_entries[object_id])
214 )
215 return startxref
216
217
218class PdfName:

Callers 15

setup.pyFile · 0.45
begin_documentMethod · 0.45
end_documentMethod · 0.45
setfontMethod · 0.45
lineMethod · 0.45
rectangleMethod · 0.45
textMethod · 0.45
imageMethod · 0.45
_save_allFunction · 0.45
_saveFunction · 0.45
_saveFunction · 0.45
fromqimageFunction · 0.45

Calls 3

check_format_conditionFunction · 0.85
keysMethod · 0.80
tellMethod · 0.45

Tested by

no test coverage detected