|
5 | 5 | import pydyf |
6 | 6 |
|
7 | 7 |
|
8 | | -def pdfa(pdf, metadata, document, page_streams, attachments, compress, |
9 | | - version, variant): |
| 8 | +def pdfa(pdf, document, page_streams, attachments, compress, version, variant): |
10 | 9 | """Set metadata for PDF/A documents.""" |
11 | 10 |
|
12 | 11 | # Handle attachments. |
@@ -63,45 +62,30 @@ def pdfa(pdf, metadata, document, page_streams, attachments, compress, |
63 | 62 | if version == 1: |
64 | 63 | # Metadata compression is forbidden for version 1. |
65 | 64 | compress = False |
66 | | - metadata.include_in_pdf(pdf, 'a', version, variant, compress) |
| 65 | + document.metadata.include_in_pdf(pdf, 'a', version, variant, compress) |
67 | 66 |
|
68 | 67 | # Remove document information. |
69 | 68 | if version >= 4: |
70 | 69 | pdf.info.clear() |
71 | 70 |
|
72 | 71 |
|
| 72 | +def _values(version, pdf_tags=None): |
| 73 | + values = {'pdf_version': version, 'pdf_identifier': True, 'output_intent': 'sRGB'} |
| 74 | + if pdf_tags is not None: |
| 75 | + values['pdf_tags'] = pdf_tags |
| 76 | + return values |
| 77 | + |
| 78 | + |
73 | 79 | VARIANTS = { |
74 | | - 'pdf/a-1b': ( |
75 | | - partial(pdfa, version=1, variant='B'), |
76 | | - {'version': '1.4', 'identifier': True, 'srgb': True}), |
77 | | - 'pdf/a-2b': ( |
78 | | - partial(pdfa, version=2, variant='B'), |
79 | | - {'version': '1.7', 'identifier': True, 'srgb': True}), |
80 | | - 'pdf/a-3b': ( |
81 | | - partial(pdfa, version=3, variant='B'), |
82 | | - {'version': '1.7', 'identifier': True, 'srgb': True}), |
83 | | - 'pdf/a-2u': ( |
84 | | - partial(pdfa, version=2, variant='U'), |
85 | | - {'version': '1.7', 'identifier': True, 'srgb': True}), |
86 | | - 'pdf/a-3u': ( |
87 | | - partial(pdfa, version=3, variant='U'), |
88 | | - {'version': '1.7', 'identifier': True, 'srgb': True}), |
89 | | - 'pdf/a-4u': ( |
90 | | - partial(pdfa, version=4, variant='U'), |
91 | | - {'version': '2.0', 'identifier': True, 'srgb': True}), |
92 | | - 'pdf/a-1a': ( |
93 | | - partial(pdfa, version=1, variant='A'), |
94 | | - {'version': '1.4', 'identifier': True, 'srgb': True, 'pdf_tags': True}), |
95 | | - 'pdf/a-2a': ( |
96 | | - partial(pdfa, version=2, variant='A'), |
97 | | - {'version': '1.7', 'identifier': True, 'srgb': True, 'pdf_tags': True}), |
98 | | - 'pdf/a-3a': ( |
99 | | - partial(pdfa, version=3, variant='A'), |
100 | | - {'version': '1.7', 'identifier': True, 'srgb': True, 'pdf_tags': True}), |
101 | | - 'pdf/a-4e': ( |
102 | | - partial(pdfa, version=4, variant='E'), |
103 | | - {'version': '2.0', 'identifier': True, 'srgb': True}), |
104 | | - 'pdf/a-4f': ( |
105 | | - partial(pdfa, version=4, variant='F'), |
106 | | - {'version': '2.0', 'identifier': True, 'srgb': True}), |
| 80 | + 'pdf/a-1b': (partial(pdfa, version=1, variant='B'), _values('1.4')), |
| 81 | + 'pdf/a-2b': (partial(pdfa, version=2, variant='B'), _values('1.7')), |
| 82 | + 'pdf/a-3b': (partial(pdfa, version=3, variant='B'), _values('1.7')), |
| 83 | + 'pdf/a-2u': (partial(pdfa, version=2, variant='U'), _values('1.7')), |
| 84 | + 'pdf/a-3u': (partial(pdfa, version=3, variant='U'), _values('1.7')), |
| 85 | + 'pdf/a-4u': (partial(pdfa, version=4, variant='U'), _values('2.0')), |
| 86 | + 'pdf/a-1a': (partial(pdfa, version=1, variant='A'), _values('1.4', pdf_tags=True)), |
| 87 | + 'pdf/a-2a': (partial(pdfa, version=1, variant='A'), _values('1.7', pdf_tags=True)), |
| 88 | + 'pdf/a-3a': (partial(pdfa, version=1, variant='A'), _values('1.7', pdf_tags=True)), |
| 89 | + 'pdf/a-4e': (partial(pdfa, version=4, variant='U'), _values('2.0')), |
| 90 | + 'pdf/a-4f': (partial(pdfa, version=4, variant='U'), _values('2.0')), |
107 | 91 | } |
0 commit comments