@@ -18,7 +18,7 @@ def read_binary(package, resource):
18
18
19
19
20
20
def pdfa (pdf , metadata , document , page_streams , attachments , compress ,
21
- version ):
21
+ version , variant ):
22
22
"""Set metadata for PDF/A documents."""
23
23
# Add ICC profile.
24
24
profile = pydyf .Stream (
@@ -86,9 +86,29 @@ def pdfa(pdf, metadata, document, page_streams, attachments, compress,
86
86
pdf_object ['F' ] = 2 ** (3 - 1 )
87
87
88
88
# Common PDF metadata stream.
89
- add_metadata (pdf , metadata , 'a' , version , 'B' , compress )
89
+ add_metadata (pdf , metadata , 'a' , version , variant , compress )
90
90
91
91
92
92
VARIANTS = {
93
- f'pdf/a-{ i } b' : (partial (pdfa , version = i ), {'version' : pdf_version })
94
- for i , pdf_version in enumerate (('1.4' , '1.7' , '1.7' , '2.0' ), start = 1 )}
93
+ 'pdf/a-1b' : (
94
+ partial (pdfa , version = 1 , variant = 'B' ),
95
+ {'version' : '1.4' , 'identifier' : True }),
96
+ 'pdf/a-2b' : (
97
+ partial (pdfa , version = 2 , variant = 'B' ),
98
+ {'version' : '1.7' , 'identifier' : True }),
99
+ 'pdf/a-3b' : (
100
+ partial (pdfa , version = 3 , variant = 'B' ),
101
+ {'version' : '1.7' , 'identifier' : True }),
102
+ 'pdf/a-4b' : (
103
+ partial (pdfa , version = 4 , variant = 'B' ),
104
+ {'version' : '2.0' , 'identifier' : True }),
105
+ 'pdf/a-2u' : (
106
+ partial (pdfa , version = 2 , variant = 'U' ),
107
+ {'version' : '1.7' , 'identifier' : True }),
108
+ 'pdf/a-3u' : (
109
+ partial (pdfa , version = 3 , variant = 'U' ),
110
+ {'version' : '1.7' , 'identifier' : True }),
111
+ 'pdf/a-4u' : (
112
+ partial (pdfa , version = 4 , variant = 'U' ),
113
+ {'version' : '2.0' , 'identifier' : True }),
114
+ }
0 commit comments