Skip to content

Commit 1465e92

Browse files
committed
Write procedure sets
1 parent 22c0c86 commit 1465e92

File tree

8 files changed

+55
-37
lines changed

8 files changed

+55
-37
lines changed

src/resource.rs

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ use pdf_writer::{Chunk, Dict, Finish, Ref};
1414
use std::collections::HashMap;
1515
use std::fmt::Debug;
1616
use std::hash::Hash;
17+
use pdf_writer::types::ProcSet;
1718

1819
pub trait ResourceTrait: Object {
1920
fn get_dict<'a>(resources: &'a mut Resources) -> Dict<'a>;
@@ -219,24 +220,14 @@ impl ResourceDictionary {
219220
where
220221
T: ResourcesExt,
221222
{
222-
if !self.is_empty() {
223-
let resources = &mut parent.resources();
224-
write_resource_type(sc, resources, self.color_spaces, false);
225-
write_resource_type(sc, resources, self.ext_g_states, false);
226-
write_resource_type(sc, resources, self.patterns, false);
227-
write_resource_type(sc, resources, self.x_objects, false);
228-
write_resource_type(sc, resources, self.shadings, false);
229-
write_resource_type(sc, resources, self.fonts, true);
230-
}
231-
}
232-
233-
pub fn is_empty(&self) -> bool {
234-
self.color_spaces.is_empty()
235-
&& self.ext_g_states.is_empty()
236-
&& self.patterns.is_empty()
237-
&& self.x_objects.is_empty()
238-
&& self.shadings.is_empty()
239-
&& self.fonts.is_empty()
223+
let resources = &mut parent.resources();
224+
resources.proc_sets([ProcSet::Pdf, ProcSet::Text, ProcSet::ImageColor, ProcSet::ImageGrayscale]);
225+
write_resource_type(sc, resources, self.color_spaces, false);
226+
write_resource_type(sc, resources, self.ext_g_states, false);
227+
write_resource_type(sc, resources, self.patterns, false);
228+
write_resource_type(sc, resources, self.x_objects, false);
229+
write_resource_type(sc, resources, self.shadings, false);
230+
write_resource_type(sc, resources, self.fonts, true);
240231
}
241232
}
242233

tests/snapshots/ext_g_state/all_set.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ endobj
2121
/Length 0
2222
/Type /XObject
2323
/Subtype /Form
24+
/Resources <<
25+
/ProcSet [/PDF /Text /ImageC /ImageB]
26+
>>
2427
/BBox [0 0 0 0]
2528
/Group <<
2629
/Type /Group

tests/snapshots/mask/alpha.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ endobj
2929
/Type /XObject
3030
/Subtype /Form
3131
/Resources <<
32+
/ProcSet [/PDF /Text /ImageC /ImageB]
3233
/ExtGState <<
3334
/g0 5 0 R
3435
>>

tests/snapshots/mask/luminosity.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ endobj
2929
/Type /XObject
3030
/Subtype /Form
3131
/Resources <<
32+
/ProcSet [/PDF /Text /ImageC /ImageB]
3233
/ExtGState <<
3334
/g0 5 0 R
3435
>>

tests/snapshots/outline/simple.txt

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ endobj
2020
3 0 obj
2121
<<
2222
/Type /Page
23+
/Resources <<
24+
/ProcSet [/PDF /Text /ImageC /ImageB]
25+
>>
2326
/MediaBox [0 0 200 200]
2427
/Parent 2 0 R
2528
/Contents 4 0 R
@@ -48,6 +51,9 @@ endobj
4851
5 0 obj
4952
<<
5053
/Type /Page
54+
/Resources <<
55+
/ProcSet [/PDF /Text /ImageC /ImageB]
56+
>>
5157
/MediaBox [0 0 200 500]
5258
/Parent 2 0 R
5359
/Contents 6 0 R
@@ -66,6 +72,9 @@ endobj
6672
7 0 obj
6773
<<
6874
/Type /Page
75+
/Resources <<
76+
/ProcSet [/PDF /Text /ImageC /ImageB]
77+
>>
6978
/MediaBox [0 0 250 700]
7079
/Parent 2 0 R
7180
/Contents 8 0 R
@@ -125,20 +134,20 @@ xref
125134
0000000016 00000 n
126135
0000000088 00000 n
127136
0000000164 00000 n
128-
0000000260 00000 n
129-
0000000398 00000 n
130-
0000000494 00000 n
131-
0000000546 00000 n
132-
0000000642 00000 n
133-
0000000694 00000 n
134-
0000000776 00000 n
135-
0000001010 00000 n
136-
0000000922 00000 n
137+
0000000323 00000 n
138+
0000000461 00000 n
139+
0000000620 00000 n
140+
0000000672 00000 n
141+
0000000831 00000 n
142+
0000000883 00000 n
143+
0000000965 00000 n
144+
0000001199 00000 n
145+
0000001111 00000 n
137146
trailer
138147
<<
139148
/Size 13
140149
/Root 1 0 R
141150
>>
142151
startxref
143-
1119
152+
1308
144153
%%EOF

tests/snapshots/page/page_label_complex.txt

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ endobj
2020
3 0 obj
2121
<<
2222
/Type /Page
23+
/Resources <<
24+
/ProcSet [/PDF /Text /ImageC /ImageB]
25+
>>
2326
/MediaBox [0 0 200 200]
2427
/Parent 2 0 R
2528
/Contents 4 0 R
@@ -38,6 +41,9 @@ endobj
3841
5 0 obj
3942
<<
4043
/Type /Page
44+
/Resources <<
45+
/ProcSet [/PDF /Text /ImageC /ImageB]
46+
>>
4147
/MediaBox [0 0 250 200]
4248
/Parent 2 0 R
4349
/Contents 6 0 R
@@ -56,6 +62,9 @@ endobj
5662
7 0 obj
5763
<<
5864
/Type /Page
65+
/Resources <<
66+
/ProcSet [/PDF /Text /ImageC /ImageB]
67+
>>
5968
/MediaBox [0 0 200 200]
6069
/Parent 2 0 R
6170
/Contents 8 0 R
@@ -97,19 +106,19 @@ xref
97106
0000000016 00000 n
98107
0000000090 00000 n
99108
0000000166 00000 n
100-
0000000262 00000 n
101-
0000000314 00000 n
102-
0000000410 00000 n
103-
0000000462 00000 n
104-
0000000558 00000 n
105-
0000000710 00000 n
106-
0000000610 00000 n
107-
0000000652 00000 n
109+
0000000325 00000 n
110+
0000000377 00000 n
111+
0000000536 00000 n
112+
0000000588 00000 n
113+
0000000747 00000 n
114+
0000000899 00000 n
115+
0000000799 00000 n
116+
0000000841 00000 n
108117
trailer
109118
<<
110119
/Size 12
111120
/Root 1 0 R
112121
>>
113122
startxref
114-
760
123+
949
115124
%%EOF

tests/snapshots/page/page_with_resources.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ endobj
4949
<<
5050
/Type /Page
5151
/Resources <<
52+
/ProcSet [/PDF /Text /ImageC /ImageB]
5253
/ColorSpace <<
5354
/c0 5 0 R
5455
>>

tests/snapshots/page/simple_page.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ endobj
1919
3 0 obj
2020
<<
2121
/Type /Page
22+
/Resources <<
23+
/ProcSet [/PDF /Text /ImageC /ImageB]
24+
>>
2225
/MediaBox [0 0 200 200]
2326
/Parent 2 0 R
2427
/Contents 4 0 R

0 commit comments

Comments
 (0)