@@ -388,24 +388,24 @@ def write_pdf(self, target=None, zoom=1, finisher=None, **options):
388
388
new_options = DEFAULT_OPTIONS .copy ()
389
389
new_options .update (options )
390
390
options = new_options
391
- pdf = generate_pdf (self , target , zoom , ** options )
392
-
393
- identifier = options ['pdf_identifier' ]
394
- compress = not options ['uncompressed_pdf' ]
395
- version = options ['pdf_version' ]
396
- variant = options ['pdf_variant' ]
397
391
398
392
# Set default PDF version for PDF variants.
399
- if version is None and variant :
393
+ if variant := options [ 'pdf_variant' ] :
400
394
_ , properties = VARIANTS [variant ]
401
- if 'version' in properties :
402
- version = properties ['version' ]
403
- if 'identifier' in properties and not identifier :
404
- identifier = properties ['identifier' ]
395
+ if 'version' in properties and not options ['pdf_version' ]:
396
+ options ['pdf_version' ] = properties ['version' ]
397
+ if 'identifier' in properties and not options ['pdf_identifier' ]:
398
+ options ['pdf_identifier' ] = properties ['identifier' ]
399
+
400
+ pdf = generate_pdf (self , target , zoom , ** options )
405
401
406
402
if finisher :
407
403
finisher (self , pdf )
408
404
405
+ identifier = options ['pdf_identifier' ]
406
+ compress = not options ['uncompressed_pdf' ]
407
+ version = options ['pdf_version' ]
408
+
409
409
if target is None :
410
410
output = io .BytesIO ()
411
411
pdf .write (output , version , identifier , compress )
0 commit comments