Allow /DR to be direct in /AcroForm

Also handle direct annotation, though this is much less likely.
This commit is contained in:
Jay Berkenbilt 2021-03-11 11:38:58 -05:00
parent dc65b88457
commit 85884c363c
6 changed files with 1965 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2021-03-11 Jay Berkenbilt <ejb@ql.org>
* Bug fix: allow /DR to be direct in /AcroForm
2021-03-04 Jay Berkenbilt <ejb@ql.org>
* 10.3.0: release

View File

@ -947,8 +947,12 @@ QPDFAcroFormDocumentHelper::transformAnnotations(
{
if (from_acroform.getKey("/DR").isDictionary())
{
from_dr = this->qpdf.copyForeignObject(
from_acroform.getKey("/DR"));
from_dr = from_acroform.getKey("/DR");
if (! from_dr.isIndirect())
{
from_dr = from_qpdf->makeIndirectObject(from_dr);
}
from_dr = this->qpdf.copyForeignObject(from_dr);
}
if (from_acroform.getKey("/DA").isString())
{
@ -1105,6 +1109,7 @@ QPDFAcroFormDocumentHelper::transformAnnotations(
// They will already be copied, so we'll get the right
// object back.
// top_field and ffield_oh are known to be indirect.
top_field = this->qpdf.copyForeignObject(top_field);
ffield_oh = this->qpdf.copyForeignObject(ffield_oh);
}
@ -1216,6 +1221,10 @@ QPDFAcroFormDocumentHelper::transformAnnotations(
}
if (foreign)
{
if (! annot.isIndirect())
{
annot = from_qpdf->makeIndirectObject(annot);
}
annot = this->qpdf.copyForeignObject(annot);
}
maybe_copy_object(annot);

View File

@ -5060,6 +5060,26 @@ print "\n";
</listitem>
</varlistentry>
-->
<varlistentry>
<term>10.3.1: Month dd, YYYY</term>
<listitem>
<itemizedlist>
<listitem>
<para>
Bug Fixes
</para>
<itemizedlist>
<listitem>
<para>
Form field copying failed on files where /DR was a direct
object in the document-level form dictionary.
</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term>10.3.0: March 4, 2021</term>
<listitem>

View File

@ -2425,7 +2425,7 @@ foreach my $f (qw(screen print))
show_ntests();
# ----------
$td->notify("--- Copy Annotations ---");
$n_tests += 37;
$n_tests += 39;
$td->runtest("complex copy annotations",
{$td->COMMAND =>
@ -2582,6 +2582,17 @@ $td->runtest("check output",
{$td->FILE => "a.pdf"},
{$td->FILE => "field-parse-errors-out.pdf"});
$td->runtest("Direct DR and annotations",
{$td->COMMAND =>
"qpdf direct-dr.pdf --split-pages" .
" --qdf --static-id --no-original-object-ids" .
" split-out.pdf"},
{$td->STRING => "", $td->EXIT_STATUS => 0},
$td->NORMALIZE_NEWLINES);
$td->runtest("check output",
{$td->FILE => "split-out-1.pdf"},
{$td->FILE => "direct-dr-out.pdf"});
show_ntests();
# ----------
$td->notify("--- Page Tree Issues ---");

View File

@ -0,0 +1,950 @@
%PDF-1.3
%¿÷¢þ
%QDF-1.0
1 0 obj
<<
/AcroForm 2 0 R
/Pages 3 0 R
/Type /Catalog
>>
endobj
2 0 obj
<<
/DR 4 0 R
/Fields [
5 0 R
6 0 R
7 0 R
]
>>
endobj
3 0 obj
<<
/Count 1
/Kids [
8 0 R
]
/Type /Pages
>>
endobj
4 0 obj
<<
/Font <<
/F1 9 0 R
>>
>>
endobj
5 0 obj
<<
/AP <<
/N 10 0 R
>>
/DA (0 0.4 0 rg /F1 18 Tf)
/DR 4 0 R
/DV ()
/FT /Tx
/Ff 0
/Rect [
72
470.774
190.8
484.922
]
/Subtype /Widget
/T (Text Box 1)
/Type /Annot
/V (Formy field)
>>
endobj
6 0 obj
<<
/AP <<
/N 12 0 R
>>
/DA (0 0.4 0 rg /F1 18 Tf)
/DR 4 0 R
/DV ()
/FT /Tx
/Ff 0
/Rect [
372
330.774
386.148
470.374
]
/Subtype /Widget
/T (Text Box 2)
/Type /Annot
/V (Rot-ccw field)
>>
endobj
7 0 obj
<<
/DV /1
/FT /Btn
/Ff 49152
/Kids [
14 0 R
15 0 R
16 0 R
]
/T (r1)
/V /2
>>
endobj
%% Page 1
8 0 obj
<<
/Annots [
17 0 R
5 0 R
18 0 R
6 0 R
19 0 R
20 0 R
21 0 R
22 0 R
14 0 R
15 0 R
16 0 R
]
/Contents 23 0 R
/MediaBox [
0
0
612
792
]
/Parent 3 0 R
/Resources <<
/Font <<
/F1 9 0 R
>>
>>
/Type /Page
>>
endobj
9 0 obj
<<
/BaseFont /Courier
/Encoding /WinAnsiEncoding
/Subtype /Type1
/Type /Font
>>
endobj
10 0 obj
<<
/BBox [
0
-2.826
118.8
11.322
]
/Resources <<
/Font <<
/F1 9 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 11 0 R
>>
stream
/Tx BMC
q
BT
/F1 18 Tf
(Formy field) Tj
ET
Q
EMC
endstream
endobj
11 0 obj
53
endobj
12 0 obj
<<
/BBox [
0
-2.826
140.4
11.322
]
/Matrix [
0
1
-1
0
0
0
]
/Resources <<
/Font <<
/F1 9 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 13 0 R
>>
stream
/Tx BMC
q
BT
/F1 18 Tf
(Rot-ccw field) Tj
ET
Q
EMC
endstream
endobj
13 0 obj
55
endobj
14 0 obj
<<
/AP <<
/N <<
/1 25 0 R
/Off 27 0 R
>>
>>
/AS /1
/DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf)
/DR 4 0 R
/F 4
/FT /Btn
/MK <<
/CA (l)
>>
/Parent 7 0 R
/Rect [
152.749
648.501
164.801
660.549
]
/Subtype /Widget
/Type /Annot
>>
endobj
15 0 obj
<<
/AP <<
/N <<
/2 29 0 R
/Off 31 0 R
>>
>>
/AS /2
/DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf)
/DR 4 0 R
/F 4
/FT /Btn
/MK <<
/CA (l)
>>
/Parent 7 0 R
/Rect [
152.749
627.301
164.801
639.349
]
/Subtype /Widget
/Type /Annot
>>
endobj
16 0 obj
<<
/AP <<
/N <<
/3 33 0 R
/Off 35 0 R
>>
>>
/AS /3
/DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf)
/DR 4 0 R
/F 4
/FT /Btn
/MK <<
/CA (l)
>>
/Parent 7 0 R
/Rect [
151.399
606.501
163.451
618.549
]
/Subtype /Widget
/Type /Annot
>>
endobj
17 0 obj
<<
/A <<
/S /URI
/URI (https://www.qbilt.org/)
>>
/Border [
0
0
.4
]
/C [
.8
.6
.6
]
/H /I
/Rect [
72
501.832
374.4
520.696
]
/Subtype /Link
/Type /Annot
>>
endobj
18 0 obj
<<
/AP <<
/N 37 0 R
>>
/Contents (attachment1.txt)
/FS 39 0 R
/NM (attachment1.txt)
/Rect [
72
400
92
420
]
/Subtype /FileAttachment
/Type /Annot
>>
endobj
19 0 obj
<<
/AP <<
/N 40 0 R
>>
/DA ()
/Rect [
72
350
92
360
]
/Subtype /FreeText
/Type /Annot
>>
endobj
20 0 obj
<<
/AP <<
/N 42 0 R
>>
/DA ()
/Rect [
102
350
112
370
]
/Subtype /FreeText
/Type /Annot
>>
endobj
21 0 obj
<<
/AP <<
/N 44 0 R
>>
/DA ()
/Rect [
122
350
142
360
]
/Subtype /FreeText
/Type /Annot
>>
endobj
22 0 obj
<<
/AP <<
/N 46 0 R
>>
/DA ()
/Rect [
152
350
162
370
]
/Subtype /FreeText
/Type /Annot
>>
endobj
%% Contents for page 1
23 0 obj
<<
/Length 24 0 R
>>
stream
q
1 1 .7 rg
.5 .5 0 RG
72 470.77 118.8 14.15 re
B
Q
q
0 .5 .5 RG
0 1 1 rg
372 330.77 14.15 139.4 re
B
Q
q
1 0 0 RG
72 310 20 10 re
72 310 5 10 re
S
0 1 0 RG
102 310 10 20 re
102 310 10 5 re
S
0 0 1 RG
122 310 20 10 re
137 310 5 10 re
S
0.5 0 1 RG
152 310 10 20 re
152 325 10 5 re
S
10 w
0.14 .33 .18 RG
5 5 602 782 re
S
Q
BT
/F1 16 Tf
20.6 TL
170 650 Td
(radio button 1) Tj
(radio button 2) '
(radio button 3) '
1 0 0 1 72 546 Tm
/F1 20 Tf
(Thick green border surrounds page.) Tj
0 -40 Td
/F1 24 Tf
0 0 1 rg
(https://www.qbilt.org) Tj
/F1 12 Tf
1 0 0 1 202 474 Tm
(<- Formy field in yellow) Tj
1 0 0 1 392 410 Tm
14.4 TL
(<- Rot-ccw field) Tj
(with "Rot" at bottom) '
(and text going up) '
0 g
1 0 0 1 102 405 Tm
(Arrow to the left points down.) Tj
1 0 0 1 182 310 Tm
(<- Drawn rectangles appear below annotations.) Tj
ET
endstream
endobj
24 0 obj
874
endobj
25 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 48 0 R
/Subtype /Form
/Type /XObject
/Length 26 0 R
>>
stream
/Tx BMC
q BT
0.18039 0.20392 0.21176 rg /ZaDi 12.05 Tf
0 0 Td
ET
Q
1 0 0 rg
6 8.4 m 7.35 8.4 8.45 7.35 8.45 6 c
8.45 4.65 7.35 3.55 6 3.55 c
4.65 3.55 3.6 4.65 3.6 6 c
3.6 7.35 4.65 8.4 6 8.4 c f*
EMC
endstream
endobj
26 0 obj
202
endobj
27 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 48 0 R
/Subtype /Form
/Type /XObject
/Length 28 0 R
>>
stream
/Tx BMC
EMC
endstream
endobj
28 0 obj
12
endobj
29 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 48 0 R
/Subtype /Form
/Type /XObject
/Length 30 0 R
>>
stream
/Tx BMC
q BT
0.18039 0.20392 0.21176 rg /ZaDi 12.05 Tf
0 0 Td
ET
Q
0 1 0 rg
6 8.4 m 7.35 8.4 8.45 7.35 8.45 6 c
8.45 4.65 7.35 3.55 6 3.55 c
4.65 3.55 3.6 4.65 3.6 6 c
3.6 7.35 4.65 8.4 6 8.4 c f*
EMC
endstream
endobj
30 0 obj
202
endobj
31 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 48 0 R
/Subtype /Form
/Type /XObject
/Length 32 0 R
>>
stream
/Tx BMC
EMC
endstream
endobj
32 0 obj
12
endobj
33 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 48 0 R
/Subtype /Form
/Type /XObject
/Length 34 0 R
>>
stream
/Tx BMC
q BT
0.18039 0.20392 0.21176 rg /ZaDi 12.05 Tf
0 0 Td
ET
Q
0 0 1 rg
6 8.4 m 7.35 8.4 8.45 7.35 8.45 6 c
8.45 4.65 7.35 3.55 6 3.55 c
4.65 3.55 3.6 4.65 3.6 6 c
3.6 7.35 4.65 8.4 6 8.4 c f*
EMC
endstream
endobj
34 0 obj
202
endobj
35 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 48 0 R
/Subtype /Form
/Type /XObject
/Length 36 0 R
>>
stream
/Tx BMC
EMC
endstream
endobj
36 0 obj
12
endobj
37 0 obj
<<
/BBox [
0
0
20
20
]
/Resources <<
>>
/Subtype /Form
/Type /XObject
/Length 38 0 R
>>
stream
0 10 m
10 0 l
20 10 l
10 0 m
10 20 l
0 0 20 20 re
S
endstream
endobj
38 0 obj
52
endobj
39 0 obj
<<
/EF <<
/F 49 0 R
/UF 49 0 R
>>
/F (attachment1.txt)
/Type /Filespec
/UF (attachment1.txt)
>>
endobj
40 0 obj
<<
/BBox [
0
0
20
10
]
/Resources <<
/Font <<
/F1 9 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 41 0 R
>>
stream
1 0 0 RG
0 0 20 10 re
0 0 5 10 re
S
endstream
endobj
41 0 obj
36
endobj
42 0 obj
<<
/BBox [
0
0
20
10
]
/Matrix [
0
1
-1
0
0
0
]
/Resources <<
/Font <<
/F1 9 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 43 0 R
>>
stream
0 1 0 RG
0 0 20 10 re
0 0 5 10 re
S
endstream
endobj
43 0 obj
36
endobj
44 0 obj
<<
/BBox [
0
0
20
10
]
/Matrix [
-1
0
0
-1
0
0
]
/Resources <<
/Font <<
/F1 9 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 45 0 R
>>
stream
0 0 1 RG
0 0 20 10 re
0 0 5 10 re
S
endstream
endobj
45 0 obj
36
endobj
46 0 obj
<<
/BBox [
0
0
20
10
]
/Matrix [
0
-1
1
0
0
0
]
/Resources <<
/Font <<
/F1 9 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 47 0 R
>>
stream
0.5 0 1 RG
0 0 20 10 re
0 0 5 10 re
S
endstream
endobj
47 0 obj
38
endobj
48 0 obj
<<
/Font 51 0 R
/ProcSet [
/PDF
/Text
]
>>
endobj
49 0 obj
<<
/Params <<
/CheckSum <80a33fc110b5a7b8b4d58b8d57e814bc>
/Size 22
/Subtype /text#2fplain
>>
/Type /EmbeddedFile
/Length 50 0 R
>>
stream
content of attachment
endstream
endobj
50 0 obj
22
endobj
51 0 obj
<<
/ZaDi 52 0 R
>>
endobj
52 0 obj
<<
/BaseFont /ZapfDingbats
/Subtype /Type1
/Type /Font
>>
endobj
xref
0 53
0000000000 65535 f
0000000025 00000 n
0000000097 00000 n
0000000177 00000 n
0000000249 00000 n
0000000301 00000 n
0000000545 00000 n
0000000794 00000 n
0000000923 00000 n
0000001232 00000 n
0000001336 00000 n
0000001589 00000 n
0000001609 00000 n
0000001917 00000 n
0000001937 00000 n
0000002248 00000 n
0000002559 00000 n
0000002870 00000 n
0000003114 00000 n
0000003318 00000 n
0000003458 00000 n
0000003600 00000 n
0000003742 00000 n
0000003907 00000 n
0000004838 00000 n
0000004859 00000 n
0000005218 00000 n
0000005239 00000 n
0000005408 00000 n
0000005428 00000 n
0000005787 00000 n
0000005808 00000 n
0000005977 00000 n
0000005997 00000 n
0000006356 00000 n
0000006377 00000 n
0000006546 00000 n
0000006566 00000 n
0000006770 00000 n
0000006790 00000 n
0000006921 00000 n
0000007145 00000 n
0000007165 00000 n
0000007442 00000 n
0000007462 00000 n
0000007740 00000 n
0000007760 00000 n
0000008039 00000 n
0000008059 00000 n
0000008133 00000 n
0000008341 00000 n
0000008361 00000 n
0000008399 00000 n
trailer <<
/Root 1 0 R
/Size 53
/ID [<31415926535897932384626433832795><31415926535897932384626433832795>]
>>
startxref
8480
%%EOF

View File

@ -0,0 +1,968 @@
%PDF-1.6
%¿÷¢þ
%QDF-1.0
1 0 obj
<<
/AcroForm <<
/DR <<
/Font <<
/F1 2 0 R
>>
>>
/Fields [
3 0 R
4 0 R
5 0 R
]
>>
/Names <<
/EmbeddedFiles 6 0 R
>>
/Pages 7 0 R
/Type /Catalog
>>
endobj
2 0 obj
<<
/BaseFont /Courier
/Encoding /WinAnsiEncoding
/Subtype /Type1
/Type /Font
>>
endobj
3 0 obj
<<
/AP <<
/N 8 0 R
>>
/DA (0 0.4 0 rg /F1 18 Tf)
/DR <<
/Font <<
/F1 2 0 R
>>
>>
/DV ()
/FT /Tx
/Ff 0
/Rect [
72
470.774
190.8
484.922
]
/Subtype /Widget
/T (Text Box 1)
/Type /Annot
/V (Formy field)
>>
endobj
4 0 obj
<<
/AP <<
/N 10 0 R
>>
/DA (0 0.4 0 rg /F1 18 Tf)
/DR <<
/Font <<
/F1 2 0 R
>>
>>
/DV ()
/FT /Tx
/Ff 0
/Rect [
372
330.774
386.148
470.374
]
/Subtype /Widget
/T (Text Box 2)
/Type /Annot
/V (Rot-ccw field)
>>
endobj
5 0 obj
<<
/DV /1
/FT /Btn
/Ff 49152
/Kids [
12 0 R
13 0 R
14 0 R
]
/T (r1)
/V /2
>>
endobj
6 0 obj
<<
/Names [
(attachment1.txt)
15 0 R
]
>>
endobj
7 0 obj
<<
/Count 1
/Kids [
16 0 R
]
/Type /Pages
>>
endobj
8 0 obj
<<
/BBox [
0
-2.826
118.8
11.322
]
/Resources <<
/Font <<
/F1 2 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 9 0 R
>>
stream
/Tx BMC
q
BT
/F1 18 Tf
(Formy field) Tj
ET
Q
EMC
endstream
endobj
9 0 obj
53
endobj
10 0 obj
<<
/BBox [
0
-2.826
140.4
11.322
]
/Matrix [
0
1
-1
0
0
0
]
/Resources <<
/Font <<
/F1 2 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 11 0 R
>>
stream
/Tx BMC
q
BT
/F1 18 Tf
(Rot-ccw field) Tj
ET
Q
EMC
endstream
endobj
11 0 obj
55
endobj
12 0 obj
<<
/AP <<
/N <<
/1 17 0 R
/Off 19 0 R
>>
>>
/AS /1
/DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf)
/DR <<
/Font <<
/ZaDi 21 0 R
>>
>>
/F 4
/FT /Btn
/MK <<
/CA (l)
>>
/Parent 5 0 R
/Rect [
152.749
648.501
164.801
660.549
]
/Subtype /Widget
/Type /Annot
>>
endobj
13 0 obj
<<
/AP <<
/N <<
/2 22 0 R
/Off 24 0 R
>>
>>
/AS /2
/DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf)
/DR <<
/Font <<
/ZaDi 21 0 R
>>
>>
/F 4
/FT /Btn
/MK <<
/CA (l)
>>
/Parent 5 0 R
/Rect [
152.749
627.301
164.801
639.349
]
/Subtype /Widget
/Type /Annot
>>
endobj
14 0 obj
<<
/AP <<
/N <<
/3 26 0 R
/Off 28 0 R
>>
>>
/AS /3
/DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf)
/DR <<
/Font <<
/ZaDi 21 0 R
>>
>>
/F 4
/FT /Btn
/MK <<
/CA (l)
>>
/Parent 5 0 R
/Rect [
151.399
606.501
163.451
618.549
]
/Subtype /Widget
/Type /Annot
>>
endobj
15 0 obj
<<
/EF <<
/F 30 0 R
/UF 30 0 R
>>
/F (attachment1.txt)
/Type /Filespec
/UF (attachment1.txt)
>>
endobj
%% Page 1
16 0 obj
<<
/Annots [
32 0 R
3 0 R
<<
/AP <<
/N 33 0 R
>>
/Contents (attachment1.txt)
/FS 15 0 R
/NM (attachment1.txt)
/Rect [
72
400
92
420
]
/Subtype /FileAttachment
/Type /Annot
>>
4 0 R
35 0 R
36 0 R
37 0 R
38 0 R
12 0 R
13 0 R
14 0 R
]
/Contents 39 0 R
/MediaBox [
0
0
612
792
]
/Parent 7 0 R
/Resources <<
/Font <<
/F1 2 0 R
>>
>>
/Type /Page
>>
endobj
17 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 41 0 R
/Subtype /Form
/Type /XObject
/Length 18 0 R
>>
stream
/Tx BMC
q BT
0.18039 0.20392 0.21176 rg /ZaDi 12.05 Tf
0 0 Td
ET
Q
1 0 0 rg
6 8.4 m 7.35 8.4 8.45 7.35 8.45 6 c
8.45 4.65 7.35 3.55 6 3.55 c
4.65 3.55 3.6 4.65 3.6 6 c
3.6 7.35 4.65 8.4 6 8.4 c f*
EMC
endstream
endobj
18 0 obj
202
endobj
19 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 41 0 R
/Subtype /Form
/Type /XObject
/Length 20 0 R
>>
stream
/Tx BMC
EMC
endstream
endobj
20 0 obj
12
endobj
21 0 obj
<<
/BaseFont /ZapfDingbats
/Subtype /Type1
/Type /Font
>>
endobj
22 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 41 0 R
/Subtype /Form
/Type /XObject
/Length 23 0 R
>>
stream
/Tx BMC
q BT
0.18039 0.20392 0.21176 rg /ZaDi 12.05 Tf
0 0 Td
ET
Q
0 1 0 rg
6 8.4 m 7.35 8.4 8.45 7.35 8.45 6 c
8.45 4.65 7.35 3.55 6 3.55 c
4.65 3.55 3.6 4.65 3.6 6 c
3.6 7.35 4.65 8.4 6 8.4 c f*
EMC
endstream
endobj
23 0 obj
202
endobj
24 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 41 0 R
/Subtype /Form
/Type /XObject
/Length 25 0 R
>>
stream
/Tx BMC
EMC
endstream
endobj
25 0 obj
12
endobj
26 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 41 0 R
/Subtype /Form
/Type /XObject
/Length 27 0 R
>>
stream
/Tx BMC
q BT
0.18039 0.20392 0.21176 rg /ZaDi 12.05 Tf
0 0 Td
ET
Q
0 0 1 rg
6 8.4 m 7.35 8.4 8.45 7.35 8.45 6 c
8.45 4.65 7.35 3.55 6 3.55 c
4.65 3.55 3.6 4.65 3.6 6 c
3.6 7.35 4.65 8.4 6 8.4 c f*
EMC
endstream
endobj
27 0 obj
202
endobj
28 0 obj
<<
/BBox [
0
0
12.05
12.05
]
/Resources 41 0 R
/Subtype /Form
/Type /XObject
/Length 29 0 R
>>
stream
/Tx BMC
EMC
endstream
endobj
29 0 obj
12
endobj
30 0 obj
<<
/Params <<
/CheckSum <80a33fc110b5a7b8b4d58b8d57e814bc>
/Size 22
/Subtype /text#2fplain
>>
/Type /EmbeddedFile
/Length 31 0 R
>>
stream
content of attachment
endstream
endobj
31 0 obj
22
endobj
32 0 obj
<<
/A <<
/S /URI
/URI (https://www.qbilt.org/)
>>
/Border [
0
0
.4
]
/C [
.8
.6
.6
]
/H /I
/Rect [
72
501.832
374.4
520.696
]
/Subtype /Link
/Type /Annot
>>
endobj
33 0 obj
<<
/BBox [
0
0
20
20
]
/Resources <<
>>
/Subtype /Form
/Type /XObject
/Length 34 0 R
>>
stream
0 10 m
10 0 l
20 10 l
10 0 m
10 20 l
0 0 20 20 re
S
endstream
endobj
34 0 obj
52
endobj
35 0 obj
<<
/AP <<
/N 42 0 R
>>
/DA ()
/Rect [
72
350
92
360
]
/Subtype /FreeText
/Type /Annot
>>
endobj
36 0 obj
<<
/AP <<
/N 44 0 R
>>
/DA ()
/Rect [
102
350
112
370
]
/Subtype /FreeText
/Type /Annot
>>
endobj
37 0 obj
<<
/AP <<
/N 46 0 R
>>
/DA ()
/Rect [
122
350
142
360
]
/Subtype /FreeText
/Type /Annot
>>
endobj
38 0 obj
<<
/AP <<
/N 48 0 R
>>
/DA ()
/Rect [
152
350
162
370
]
/Subtype /FreeText
/Type /Annot
>>
endobj
%% Contents for page 1
39 0 obj
<<
/Length 40 0 R
>>
stream
q
1 1 .7 rg
.5 .5 0 RG
72 470.77 118.8 14.15 re
B
Q
q
0 .5 .5 RG
0 1 1 rg
372 330.77 14.15 139.4 re
B
Q
q
1 0 0 RG
72 310 20 10 re
72 310 5 10 re
S
0 1 0 RG
102 310 10 20 re
102 310 10 5 re
S
0 0 1 RG
122 310 20 10 re
137 310 5 10 re
S
0.5 0 1 RG
152 310 10 20 re
152 325 10 5 re
S
10 w
0.14 .33 .18 RG
5 5 602 782 re
S
Q
BT
/F1 16 Tf
20.6 TL
170 650 Td
(radio button 1) Tj
(radio button 2) '
(radio button 3) '
1 0 0 1 72 546 Tm
/F1 20 Tf
(Thick green border surrounds page.) Tj
0 -40 Td
/F1 24 Tf
0 0 1 rg
(https://www.qbilt.org) Tj
/F1 12 Tf
1 0 0 1 202 474 Tm
(<- Formy field in yellow) Tj
1 0 0 1 392 410 Tm
14.4 TL
(<- Rot-ccw field) Tj
(with "Rot" at bottom) '
(and text going up) '
0 g
1 0 0 1 102 405 Tm
(Arrow to the left points down.) Tj
1 0 0 1 182 310 Tm
(<- Drawn rectangles appear below annotations.) Tj
ET
endstream
endobj
40 0 obj
874
endobj
41 0 obj
<<
/Font 50 0 R
/ProcSet [
/PDF
/Text
]
>>
endobj
42 0 obj
<<
/BBox [
0
0
20
10
]
/Resources <<
/Font <<
/F1 2 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 43 0 R
>>
stream
1 0 0 RG
0 0 20 10 re
0 0 5 10 re
S
endstream
endobj
43 0 obj
36
endobj
44 0 obj
<<
/BBox [
0
0
20
10
]
/Matrix [
0
1
-1
0
0
0
]
/Resources <<
/Font <<
/F1 2 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 45 0 R
>>
stream
0 1 0 RG
0 0 20 10 re
0 0 5 10 re
S
endstream
endobj
45 0 obj
36
endobj
46 0 obj
<<
/BBox [
0
0
20
10
]
/Matrix [
-1
0
0
-1
0
0
]
/Resources <<
/Font <<
/F1 2 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 47 0 R
>>
stream
0 0 1 RG
0 0 20 10 re
0 0 5 10 re
S
endstream
endobj
47 0 obj
36
endobj
48 0 obj
<<
/BBox [
0
0
20
10
]
/Matrix [
0
-1
1
0
0
0
]
/Resources <<
/Font <<
/F1 2 0 R
>>
>>
/Subtype /Form
/Type /XObject
/Length 49 0 R
>>
stream
0.5 0 1 RG
0 0 20 10 re
0 0 5 10 re
S
endstream
endobj
49 0 obj
38
endobj
50 0 obj
<<
/ZaDi 21 0 R
>>
endobj
xref
0 51
0000000000 65535 f
0000000025 00000 n
0000000257 00000 n
0000000361 00000 n
0000000642 00000 n
0000000929 00000 n
0000001048 00000 n
0000001118 00000 n
0000001191 00000 n
0000001442 00000 n
0000001461 00000 n
0000001769 00000 n
0000001789 00000 n
0000002141 00000 n
0000002493 00000 n
0000002845 00000 n
0000002986 00000 n
0000003536 00000 n
0000003895 00000 n
0000003916 00000 n
0000004085 00000 n
0000004105 00000 n
0000004186 00000 n
0000004545 00000 n
0000004566 00000 n
0000004735 00000 n
0000004755 00000 n
0000005114 00000 n
0000005135 00000 n
0000005304 00000 n
0000005324 00000 n
0000005532 00000 n
0000005552 00000 n
0000005796 00000 n
0000006000 00000 n
0000006020 00000 n
0000006160 00000 n
0000006302 00000 n
0000006444 00000 n
0000006609 00000 n
0000007540 00000 n
0000007561 00000 n
0000007635 00000 n
0000007859 00000 n
0000007879 00000 n
0000008156 00000 n
0000008176 00000 n
0000008454 00000 n
0000008474 00000 n
0000008753 00000 n
0000008773 00000 n
trailer <<
/Root 1 0 R
/Size 51
/ID [<a2f146daeb6d814a742556489dab9882><05209b885a642b4bccb162f0c1aff77a>]
>>
startxref
8811
%%EOF