()
| 233 | |
| 234 | |
| 235 | def test_4457(): |
| 236 | if os.environ.get('PYODIDE_ROOT'): |
| 237 | print('test_4457(): not running on Pyodide - cannot run child processes.') |
| 238 | return |
| 239 | |
| 240 | print() |
| 241 | files = ( |
| 242 | ('https://github.com/user-attachments/files/20862923/test_4457_a.pdf', 'test_4457_a.pdf', None, 4), |
| 243 | ('https://github.com/user-attachments/files/20862922/test_4457_b.pdf', 'test_4457_b.pdf', None, 9), |
| 244 | ) |
| 245 | for url, name, size, rms_old_after_max in files: |
| 246 | path = util.download(url, name, size) |
| 247 | |
| 248 | with pymupdf.open(path) as document: |
| 249 | page = document[0] |
| 250 | |
| 251 | pixmap = document[0].get_pixmap() |
| 252 | path_pixmap = f'{path}.png' |
| 253 | pixmap.save(path_pixmap) |
| 254 | print(f'Have created: {path_pixmap=}') |
| 255 | |
| 256 | text = page.get_text() |
| 257 | path_before = f'{path}.before.pdf' |
| 258 | path_after = f'{path}.after.pdf' |
| 259 | document.ez_save(path_before, garbage=4) |
| 260 | print(f'Have created {path_before=}') |
| 261 | |
| 262 | document.subset_fonts() |
| 263 | document.ez_save(path_after, garbage=4) |
| 264 | print(f'Have created {path_after=}') |
| 265 | |
| 266 | with pymupdf.open(path_before) as document: |
| 267 | text_before = document[0].get_text() |
| 268 | pixmap_before = document[0].get_pixmap() |
| 269 | path_pixmap_before = f'{path_before}.png' |
| 270 | pixmap_before.save(path_pixmap_before) |
| 271 | print(f'Have created: {path_pixmap_before=}') |
| 272 | |
| 273 | with pymupdf.open(path_after) as document: |
| 274 | text_after = document[0].get_text() |
| 275 | pixmap_after = document[0].get_pixmap() |
| 276 | path_pixmap_after = f'{path_after}.png' |
| 277 | pixmap_after.save(path_pixmap_after) |
| 278 | print(f'Have created: {path_pixmap_after=}') |
| 279 | |
| 280 | import gentle_compare |
| 281 | rms_before = gentle_compare.pixmaps_rms(pixmap, pixmap_before) |
| 282 | rms_after = gentle_compare.pixmaps_rms(pixmap, pixmap_after) |
| 283 | print(f'{rms_before=}') |
| 284 | print(f'{rms_after=}') |
| 285 | |
| 286 | # Create .png file showing differences between <path> and <path_after>. |
| 287 | path_pixmap_after_diff = f'{path_after}.diff.png' |
| 288 | pixmap_after_diff = gentle_compare.pixmaps_diff(pixmap, pixmap_after) |
| 289 | pixmap_after_diff.save(path_pixmap_after_diff) |
| 290 | print(f'Have created: {path_pixmap_after_diff}') |
| 291 | |
| 292 | # Extract text from <path>, <path_before> and <path_after> and write to |
nothing calls this directly
no test coverage detected
searching dependent graphs…