diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index 3f3bcbb1..bb17ae84 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -2494,7 +2494,7 @@ QPDFJob::handlePageSpecs(QPDF& pdf, std::vector>& page_hea // the original file until all copy operations are completed, any foreign pages that // conflict with original pages will be adjusted. If we copy any page from the original // file more than once, that page would be in conflict with the previous copy of itself. - if (other_afdh->hasAcroForm() && ((!this_file) || (!first_copy_from_orig))) { + if ((!this_file && other_afdh->hasAcroForm()) || !first_copy_from_orig) { if (!this_file) { QTC::TC("qpdf", "QPDFJob copy fields not this file"); } else if (!first_copy_from_orig) { diff --git a/qpdf/qtest/copy-annotations.test b/qpdf/qtest/copy-annotations.test index f43f84be..d7c22438 100644 --- a/qpdf/qtest/copy-annotations.test +++ b/qpdf/qtest/copy-annotations.test @@ -14,7 +14,7 @@ cleanup(); my $td = new TestDriver('copy-annotations'); -my $n_tests = 39; +my $n_tests = 43; $td->runtest("complex copy annotations", {$td->COMMAND => @@ -42,6 +42,30 @@ foreach my $page (1, 2, 5, 6) {$td->FILE => "overlay-copy-annotations-p$page.pdf"}); } +$td->runtest("copy annotations no acroform from foreign file", + {$td->COMMAND => + "qpdf --qdf --static-id --no-original-object-ids" . + " annotations-no-acroform.pdf --pages . 1,1 -- a.pdf"}, + {$td->STRING => "", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); + +$td->runtest("check output", + {$td->FILE => "a.pdf"}, + {$td->FILE => "annotations-same-file.out.pdf"}); + +$td->runtest("copy annotations no acroform from foreign file", + {$td->COMMAND => + "qpdf --qdf --static-id --no-original-object-ids minimal.pdf" . + " --pages annotations-no-acroform.pdf 1,1 -- a.pdf"}, + {$td->STRING => "", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); + +$td->runtest("check output", + {$td->FILE => "a.pdf"}, + {$td->FILE => "annotations-foreign-file.out.pdf"}); + + + foreach my $d ([1, "appearances-1.pdf"], [2, "appearances-1-rotated.pdf"]) { diff --git a/qpdf/qtest/qpdf/annotations-foreign-file.out.pdf b/qpdf/qtest/qpdf/annotations-foreign-file.out.pdf new file mode 100644 index 00000000..881d2e3a --- /dev/null +++ b/qpdf/qtest/qpdf/annotations-foreign-file.out.pdf @@ -0,0 +1,1918 @@ +%PDF-1.6 +%¿÷¢þ +%QDF-1.0 + +1 0 obj +<< + /Pages 2 0 R + /Type /Catalog +>> +endobj + +2 0 obj +<< + /Count 2 + /Kids [ + 3 0 R + 4 0 R + ] + /Type /Pages +>> +endobj + +%% Page 1 +3 0 obj +<< + /Annots [ + 5 0 R + 6 0 R + 7 0 R + 8 0 R + 9 0 R + 10 0 R + 11 0 R + 12 0 R + 13 0 R + 14 0 R + 15 0 R + ] + /Contents 16 0 R + /MediaBox [ + 0 + 0 + 612 + 792 + ] + /Parent 2 0 R + /Resources 18 0 R + /Type /Page +>> +endobj + +%% Page 2 +4 0 obj +<< + /Annots [ + 19 0 R + 20 0 R + 21 0 R + 22 0 R + 23 0 R + 24 0 R + 25 0 R + 26 0 R + 27 0 R + 28 0 R + 29 0 R + ] + /Contents 16 0 R + /MediaBox [ + 0 + 0 + 612 + 792 + ] + /Parent 2 0 R + /Resources 18 0 R + /Type /Page +>> +endobj + +5 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 + +6 0 obj +<< + /AP << + /N 30 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 18 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 + +7 0 obj +<< + /AP << + /N 32 0 R + >> + /Contents (attachment1.txt) + /FS 34 0 R + /NM (attachment1.txt) + /Rect [ + 72 + 400 + 92 + 420 + ] + /Subtype /FileAttachment + /Type /Annot +>> +endobj + +8 0 obj +<< + /AP << + /N 35 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 18 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 + +9 0 obj +<< + /AP << + /N 37 0 R + >> + /DA () + /Rect [ + 72 + 350 + 92 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +10 0 obj +<< + /AP << + /N 39 0 R + >> + /DA () + /Rect [ + 102 + 350 + 112 + 370 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +11 0 obj +<< + /AP << + /N 41 0 R + >> + /DA () + /Rect [ + 122 + 350 + 142 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +12 0 obj +<< + /AP << + /N 43 0 R + >> + /DA () + /Rect [ + 152 + 350 + 162 + 370 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +13 0 obj +<< + /AP << + /N << + /1 45 0 R + /Off 47 0 R + >> + >> + /AS /1 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 49 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 50 0 R + /Rect [ + 152.749 + 648.501 + 164.801 + 660.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +14 0 obj +<< + /AP << + /N << + /2 51 0 R + /Off 53 0 R + >> + >> + /AS /2 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 49 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 50 0 R + /Rect [ + 152.749 + 627.301 + 164.801 + 639.349 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +15 0 obj +<< + /AP << + /N << + /3 55 0 R + /Off 57 0 R + >> + >> + /AS /3 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 49 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 50 0 R + /Rect [ + 151.399 + 606.501 + 163.451 + 618.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +%% Contents for page 2 +16 0 obj +<< + /Length 17 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 + +17 0 obj +874 +endobj + +18 0 obj +<< + /Font << + /F1 59 0 R + >> +>> +endobj + +19 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 + +20 0 obj +<< + /AP << + /N 60 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 18 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 + +21 0 obj +<< + /AP << + /N 62 0 R + >> + /Contents (attachment1.txt) + /FS 34 0 R + /NM (attachment1.txt) + /Rect [ + 72 + 400 + 92 + 420 + ] + /Subtype /FileAttachment + /Type /Annot +>> +endobj + +22 0 obj +<< + /AP << + /N 64 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 18 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 + +23 0 obj +<< + /AP << + /N 66 0 R + >> + /DA () + /Rect [ + 72 + 350 + 92 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +24 0 obj +<< + /AP << + /N 68 0 R + >> + /DA () + /Rect [ + 102 + 350 + 112 + 370 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +25 0 obj +<< + /AP << + /N 70 0 R + >> + /DA () + /Rect [ + 122 + 350 + 142 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +26 0 obj +<< + /AP << + /N 72 0 R + >> + /DA () + /Rect [ + 152 + 350 + 162 + 370 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +27 0 obj +<< + /AP << + /N << + /1 74 0 R + /Off 76 0 R + >> + >> + /AS /1 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 49 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 50 0 R + /Rect [ + 152.749 + 648.501 + 164.801 + 660.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +28 0 obj +<< + /AP << + /N << + /2 78 0 R + /Off 80 0 R + >> + >> + /AS /2 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 49 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 50 0 R + /Rect [ + 152.749 + 627.301 + 164.801 + 639.349 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +29 0 obj +<< + /AP << + /N << + /3 82 0 R + /Off 84 0 R + >> + >> + /AS /3 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 49 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 50 0 R + /Rect [ + 151.399 + 606.501 + 163.451 + 618.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +30 0 obj +<< + /BBox [ + 0 + -2.826 + 118.8 + 11.322 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 31 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Formy field) Tj +ET +Q +EMC +endstream +endobj + +31 0 obj +53 +endobj + +32 0 obj +<< + /BBox [ + 0 + 0 + 20 + 20 + ] + /Resources << + >> + /Subtype /Form + /Type /XObject + /Length 33 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 + +33 0 obj +52 +endobj + +34 0 obj +<< + /EF << + /F 86 0 R + /UF 86 0 R + >> + /F (attachment1.txt) + /Type /Filespec + /UF (attachment1.txt) +>> +endobj + +35 0 obj +<< + /BBox [ + 0 + -2.826 + 140.4 + 11.322 + ] + /Matrix [ + 0 + 1 + -1 + 0 + 0 + 0 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 36 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Rot-ccw field) Tj +ET +Q +EMC +endstream +endobj + +36 0 obj +55 +endobj + +37 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 38 0 R +>> +stream +1 0 0 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +38 0 obj +36 +endobj + +39 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + 0 + 1 + -1 + 0 + 0 + 0 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 40 0 R +>> +stream +0 1 0 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +40 0 obj +36 +endobj + +41 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + -1 + 0 + 0 + -1 + 0 + 0 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 42 0 R +>> +stream +0 0 1 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +42 0 obj +36 +endobj + +43 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + 0 + -1 + 1 + 0 + 0 + 0 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 44 0 R +>> +stream +0.5 0 1 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +44 0 obj +38 +endobj + +45 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 46 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 + +46 0 obj +202 +endobj + +47 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 48 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +48 0 obj +12 +endobj + +49 0 obj +<< + /BaseFont /ZapfDingbats + /Subtype /Type1 + /Type /Font +>> +endobj + +50 0 obj +<< + /DV /1 + /FT /Btn + /Ff 49152 + /Kids [ + 89 0 R + 90 0 R + 91 0 R + ] + /T (r1) + /V /2 +>> +endobj + +51 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 52 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 + +52 0 obj +202 +endobj + +53 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 54 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +54 0 obj +12 +endobj + +55 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 56 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 + +56 0 obj +202 +endobj + +57 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 58 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +58 0 obj +12 +endobj + +59 0 obj +<< + /BaseFont /Courier + /Encoding /WinAnsiEncoding + /Subtype /Type1 + /Type /Font +>> +endobj + +60 0 obj +<< + /BBox [ + 0 + -2.826 + 118.8 + 11.322 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 61 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Formy field) Tj +ET +Q +EMC +endstream +endobj + +61 0 obj +53 +endobj + +62 0 obj +<< + /BBox [ + 0 + 0 + 20 + 20 + ] + /Resources << + >> + /Subtype /Form + /Type /XObject + /Length 63 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 + +63 0 obj +52 +endobj + +64 0 obj +<< + /BBox [ + 0 + -2.826 + 140.4 + 11.322 + ] + /Matrix [ + 0 + 1 + -1 + 0 + 0 + 0 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 65 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Rot-ccw field) Tj +ET +Q +EMC +endstream +endobj + +65 0 obj +55 +endobj + +66 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 67 0 R +>> +stream +1 0 0 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +67 0 obj +36 +endobj + +68 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + 0 + 1 + -1 + 0 + 0 + 0 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 69 0 R +>> +stream +0 1 0 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +69 0 obj +36 +endobj + +70 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + -1 + 0 + 0 + -1 + 0 + 0 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 71 0 R +>> +stream +0 0 1 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +71 0 obj +36 +endobj + +72 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + 0 + -1 + 1 + 0 + 0 + 0 + ] + /Resources 18 0 R + /Subtype /Form + /Type /XObject + /Length 73 0 R +>> +stream +0.5 0 1 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +73 0 obj +38 +endobj + +74 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 75 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 + +75 0 obj +202 +endobj + +76 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 77 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +77 0 obj +12 +endobj + +78 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 79 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 + +79 0 obj +202 +endobj + +80 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 81 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +81 0 obj +12 +endobj + +82 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 83 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 + +83 0 obj +202 +endobj + +84 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 85 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +85 0 obj +12 +endobj + +86 0 obj +<< + /Params << + /CheckSum <80a33fc110b5a7b8b4d58b8d57e814bc> + /Size 22 + /Subtype /text#2fplain + >> + /Type /EmbeddedFile + /Length 87 0 R +>> +stream +content of attachment +endstream +endobj + +87 0 obj +22 +endobj + +88 0 obj +<< + /Font 92 0 R + /ProcSet [ + /PDF + /Text + ] +>> +endobj + +89 0 obj +<< + /AP << + /N << + /1 93 0 R + /Off 95 0 R + >> + >> + /AS /1 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 49 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 50 0 R + /Rect [ + 152.749 + 648.501 + 164.801 + 660.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +90 0 obj +<< + /AP << + /N << + /2 97 0 R + /Off 99 0 R + >> + >> + /AS /2 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 49 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 50 0 R + /Rect [ + 152.749 + 627.301 + 164.801 + 639.349 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +91 0 obj +<< + /AP << + /N << + /3 101 0 R + /Off 103 0 R + >> + >> + /AS /3 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 49 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 50 0 R + /Rect [ + 151.399 + 606.501 + 163.451 + 618.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +92 0 obj +<< + /ZaDi 49 0 R +>> +endobj + +93 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 94 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 + +94 0 obj +202 +endobj + +95 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 96 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +96 0 obj +12 +endobj + +97 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 98 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 + +98 0 obj +202 +endobj + +99 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 100 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +100 0 obj +12 +endobj + +101 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 102 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 + +102 0 obj +202 +endobj + +103 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 88 0 R + /Subtype /Form + /Type /XObject + /Length 104 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +104 0 obj +12 +endobj + +xref +0 105 +0000000000 65535 f +0000000025 00000 n +0000000079 00000 n +0000000171 00000 n +0000000450 00000 n +0000000724 00000 n +0000000967 00000 n +0000001212 00000 n +0000001415 00000 n +0000001665 00000 n +0000001804 00000 n +0000001946 00000 n +0000002088 00000 n +0000002230 00000 n +0000002583 00000 n +0000002936 00000 n +0000003312 00000 n +0000004243 00000 n +0000004264 00000 n +0000004318 00000 n +0000004562 00000 n +0000004808 00000 n +0000005012 00000 n +0000005263 00000 n +0000005403 00000 n +0000005545 00000 n +0000005687 00000 n +0000005829 00000 n +0000006182 00000 n +0000006535 00000 n +0000006888 00000 n +0000007104 00000 n +0000007124 00000 n +0000007328 00000 n +0000007348 00000 n +0000007479 00000 n +0000007750 00000 n +0000007770 00000 n +0000007957 00000 n +0000007977 00000 n +0000008217 00000 n +0000008237 00000 n +0000008478 00000 n +0000008498 00000 n +0000008740 00000 n +0000008760 00000 n +0000009119 00000 n +0000009140 00000 n +0000009309 00000 n +0000009329 00000 n +0000009410 00000 n +0000009530 00000 n +0000009889 00000 n +0000009910 00000 n +0000010079 00000 n +0000010099 00000 n +0000010458 00000 n +0000010479 00000 n +0000010648 00000 n +0000010668 00000 n +0000010773 00000 n +0000010989 00000 n +0000011009 00000 n +0000011213 00000 n +0000011233 00000 n +0000011504 00000 n +0000011524 00000 n +0000011711 00000 n +0000011731 00000 n +0000011971 00000 n +0000011991 00000 n +0000012232 00000 n +0000012252 00000 n +0000012494 00000 n +0000012514 00000 n +0000012873 00000 n +0000012894 00000 n +0000013063 00000 n +0000013083 00000 n +0000013442 00000 n +0000013463 00000 n +0000013632 00000 n +0000013652 00000 n +0000014011 00000 n +0000014032 00000 n +0000014201 00000 n +0000014221 00000 n +0000014429 00000 n +0000014449 00000 n +0000014523 00000 n +0000014876 00000 n +0000015229 00000 n +0000015584 00000 n +0000015622 00000 n +0000015981 00000 n +0000016002 00000 n +0000016171 00000 n +0000016191 00000 n +0000016550 00000 n +0000016571 00000 n +0000016741 00000 n +0000016762 00000 n +0000017123 00000 n +0000017145 00000 n +0000017316 00000 n +trailer << + /Root 1 0 R + /Size 105 + /ID [<31415926535897932384626433832795><31415926535897932384626433832795>] +>> +startxref +17337 +%%EOF diff --git a/qpdf/qtest/qpdf/annotations-no-acroform.pdf b/qpdf/qtest/qpdf/annotations-no-acroform.pdf new file mode 100644 index 00000000..0983f97e --- /dev/null +++ b/qpdf/qtest/qpdf/annotations-no-acroform.pdf @@ -0,0 +1,935 @@ +%PDF-1.6 +%¿÷¢þ +%QDF-1.0 + +1 0 obj +<< + + /Names << + /EmbeddedFiles 6 0 R + >> + /Pages 7 0 R + /Type /Catalog +>> +endobj + +2 0 obj +<< + /Font << + /F1 8 0 R + >> +>> +endobj + +3 0 obj +<< + /AP << + /N 9 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 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 11 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 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 [ + 13 0 R + 14 0 R + 15 0 R + ] + /T (r1) + /V /2 +>> +endobj + +6 0 obj +<< + /Names [ + (attachment1.txt) + 16 0 R + ] +>> +endobj + +7 0 obj +<< + /Count 1 + /Kids [ + 17 0 R + ] + /Type /Pages +>> +endobj + +8 0 obj +<< + /BaseFont /Courier + /Encoding /WinAnsiEncoding + /Subtype /Type1 + /Type /Font +>> +endobj + +9 0 obj +<< + /BBox [ + 0 + -2.826 + 118.8 + 11.322 + ] + /Resources 2 0 R + /Subtype /Form + /Type /XObject + /Length 10 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Formy field) Tj +ET +Q +EMC +endstream +endobj + +10 0 obj +53 +endobj + +11 0 obj +<< + /BBox [ + 0 + -2.826 + 140.4 + 11.322 + ] + /Matrix [ + 0 + 1 + -1 + 0 + 0 + 0 + ] + /Resources 2 0 R + /Subtype /Form + /Type /XObject + /Length 12 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Rot-ccw field) Tj +ET +Q +EMC +endstream +endobj + +12 0 obj +55 +endobj + +13 0 obj +<< + /AP << + /N << + /1 18 0 R + /Off 20 0 R + >> + >> + /AS /1 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 22 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 + +14 0 obj +<< + /AP << + /N << + /2 23 0 R + /Off 25 0 R + >> + >> + /AS /2 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 22 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 + +15 0 obj +<< + /AP << + /N << + /3 27 0 R + /Off 29 0 R + >> + >> + /AS /3 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 22 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 + +16 0 obj +<< + /EF << + /F 31 0 R + /UF 31 0 R + >> + /F (attachment1.txt) + /Type /Filespec + /UF (attachment1.txt) +>> +endobj + +%% Page 1 +17 0 obj +<< + /Annots [ + 33 0 R + 3 0 R + 34 0 R + 4 0 R + 35 0 R + 36 0 R + 37 0 R + 38 0 R + 13 0 R + 14 0 R + 15 0 R + ] + /Contents 39 0 R + /MediaBox [ + 0 + 0 + 612 + 792 + ] + /Parent 7 0 R + /Resources 2 0 R + /Type /Page +>> +endobj + +18 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 41 0 R + /Subtype /Form + /Type /XObject + /Length 19 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 + +19 0 obj +202 +endobj + +20 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 41 0 R + /Subtype /Form + /Type /XObject + /Length 21 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +21 0 obj +12 +endobj + +22 0 obj +<< + /BaseFont /ZapfDingbats + /Subtype /Type1 + /Type /Font +>> +endobj + +23 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 41 0 R + /Subtype /Form + /Type /XObject + /Length 24 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 + +24 0 obj +202 +endobj + +25 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 41 0 R + /Subtype /Form + /Type /XObject + /Length 26 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +26 0 obj +12 +endobj + +27 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 41 0 R + /Subtype /Form + /Type /XObject + /Length 28 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 + +28 0 obj +202 +endobj + +29 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 41 0 R + /Subtype /Form + /Type /XObject + /Length 30 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +30 0 obj +12 +endobj + +31 0 obj +<< + /Params << + /CheckSum <80a33fc110b5a7b8b4d58b8d57e814bc> + /Size 22 + /Subtype /text#2fplain + >> + /Type /EmbeddedFile + /Length 32 0 R +>> +stream +content of attachment +endstream +endobj + +32 0 obj +22 +endobj + +33 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 + +34 0 obj +<< + /AP << + /N 42 0 R + >> + /Contents (attachment1.txt) + /FS 16 0 R + /NM (attachment1.txt) + /Rect [ + 72 + 400 + 92 + 420 + ] + /Subtype /FileAttachment + /Type /Annot +>> +endobj + +35 0 obj +<< + /AP << + /N 44 0 R + >> + /DA () + /Rect [ + 72 + 350 + 92 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +36 0 obj +<< + /AP << + /N 46 0 R + >> + /DA () + /Rect [ + 102 + 350 + 112 + 370 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +37 0 obj +<< + /AP << + /N 48 0 R + >> + /DA () + /Rect [ + 122 + 350 + 142 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +38 0 obj +<< + /AP << + /N 50 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 52 0 R + /ProcSet [ + /PDF + /Text + ] +>> +endobj + +42 0 obj +<< + /BBox [ + 0 + 0 + 20 + 20 + ] + /Resources << + >> + /Subtype /Form + /Type /XObject + /Length 43 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 + +43 0 obj +52 +endobj + +44 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Resources 2 0 R + /Subtype /Form + /Type /XObject + /Length 45 0 R +>> +stream +1 0 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 [ + 0 + 1 + -1 + 0 + 0 + 0 + ] + /Resources 2 0 R + /Subtype /Form + /Type /XObject + /Length 47 0 R +>> +stream +0 1 0 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 [ + -1 + 0 + 0 + -1 + 0 + 0 + ] + /Resources 2 0 R + /Subtype /Form + /Type /XObject + /Length 49 0 R +>> +stream +0 0 1 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +49 0 obj +36 +endobj + +50 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + 0 + -1 + 1 + 0 + 0 + 0 + ] + /Resources 2 0 R + /Subtype /Form + /Type /XObject + /Length 51 0 R +>> +stream +0.5 0 1 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +51 0 obj +38 +endobj + +52 0 obj +<< + /ZaDi 22 0 R +>> +endobj + +xref +0 53 +0000000000 65535 f +0000000025 00000 n +0000000122 00000 n +0000000174 00000 n +0000000417 00000 n +0000000666 00000 n +0000000785 00000 n +0000000855 00000 n +0000000928 00000 n +0000001032 00000 n +0000001246 00000 n +0000001266 00000 n +0000001536 00000 n +0000001556 00000 n +0000001908 00000 n +0000002260 00000 n +0000002612 00000 n +0000002753 00000 n +0000003025 00000 n +0000003384 00000 n +0000003405 00000 n +0000003574 00000 n +0000003594 00000 n +0000003675 00000 n +0000004034 00000 n +0000004055 00000 n +0000004224 00000 n +0000004244 00000 n +0000004603 00000 n +0000004624 00000 n +0000004793 00000 n +0000004813 00000 n +0000005021 00000 n +0000005041 00000 n +0000005285 00000 n +0000005489 00000 n +0000005629 00000 n +0000005771 00000 n +0000005913 00000 n +0000006078 00000 n +0000007009 00000 n +0000007030 00000 n +0000007104 00000 n +0000007308 00000 n +0000007328 00000 n +0000007514 00000 n +0000007534 00000 n +0000007773 00000 n +0000007793 00000 n +0000008033 00000 n +0000008053 00000 n +0000008294 00000 n +0000008314 00000 n +trailer << + /Root 1 0 R + /Size 53 + /ID [<7b639c67bfc16b5e891fa5468aac3a14>] +>> +startxref +8352 +%%EOF diff --git a/qpdf/qtest/qpdf/annotations-same-file.out.pdf b/qpdf/qtest/qpdf/annotations-same-file.out.pdf new file mode 100644 index 00000000..083a9644 --- /dev/null +++ b/qpdf/qtest/qpdf/annotations-same-file.out.pdf @@ -0,0 +1,1649 @@ +%PDF-1.6 +%¿÷¢þ +%QDF-1.0 + +1 0 obj +<< + /Names << + /EmbeddedFiles 2 0 R + >> + /Pages 3 0 R + /Type /Catalog +>> +endobj + +2 0 obj +<< + /Names [ + (attachment1.txt) + 4 0 R + ] +>> +endobj + +3 0 obj +<< + /Count 2 + /Kids [ + 5 0 R + 6 0 R + ] + /Type /Pages +>> +endobj + +4 0 obj +<< + /EF << + /F 7 0 R + /UF 7 0 R + >> + /F (attachment1.txt) + /Type /Filespec + /UF (attachment1.txt) +>> +endobj + +%% Page 1 +5 0 obj +<< + /Annots [ + 9 0 R + 10 0 R + 11 0 R + 12 0 R + 13 0 R + 14 0 R + 15 0 R + 16 0 R + 17 0 R + 18 0 R + 19 0 R + ] + /Contents 20 0 R + /MediaBox [ + 0 + 0 + 612 + 792 + ] + /Parent 3 0 R + /Resources 22 0 R + /Type /Page +>> +endobj + +%% Page 2 +6 0 obj +<< + /Annots [ + 23 0 R + 24 0 R + 25 0 R + 26 0 R + 27 0 R + 28 0 R + 29 0 R + 30 0 R + 31 0 R + 32 0 R + 33 0 R + ] + /Contents 20 0 R + /MediaBox [ + 0 + 0 + 612 + 792 + ] + /Parent 3 0 R + /Resources 22 0 R + /Type /Page +>> +endobj + +7 0 obj +<< + /Params << + /CheckSum <80a33fc110b5a7b8b4d58b8d57e814bc> + /Size 22 + /Subtype /text#2fplain + >> + /Type /EmbeddedFile + /Length 8 0 R +>> +stream +content of attachment +endstream +endobj + +8 0 obj +22 +endobj + +9 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 + +10 0 obj +<< + /AP << + /N 34 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 22 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 + +11 0 obj +<< + /AP << + /N 36 0 R + >> + /Contents (attachment1.txt) + /FS 4 0 R + /NM (attachment1.txt) + /Rect [ + 72 + 400 + 92 + 420 + ] + /Subtype /FileAttachment + /Type /Annot +>> +endobj + +12 0 obj +<< + /AP << + /N 38 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 22 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 + +13 0 obj +<< + /AP << + /N 40 0 R + >> + /DA () + /Rect [ + 72 + 350 + 92 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +14 0 obj +<< + /AP << + /N 42 0 R + >> + /DA () + /Rect [ + 102 + 350 + 112 + 370 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +15 0 obj +<< + /AP << + /N 44 0 R + >> + /DA () + /Rect [ + 122 + 350 + 142 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +16 0 obj +<< + /AP << + /N 46 0 R + >> + /DA () + /Rect [ + 152 + 350 + 162 + 370 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +17 0 obj +<< + /AP << + /N << + /1 48 0 R + /Off 50 0 R + >> + >> + /AS /1 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 52 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 53 0 R + /Rect [ + 152.749 + 648.501 + 164.801 + 660.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +18 0 obj +<< + /AP << + /N << + /2 54 0 R + /Off 56 0 R + >> + >> + /AS /2 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 52 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 53 0 R + /Rect [ + 152.749 + 627.301 + 164.801 + 639.349 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +19 0 obj +<< + /AP << + /N << + /3 58 0 R + /Off 60 0 R + >> + >> + /AS /3 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 52 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 53 0 R + /Rect [ + 151.399 + 606.501 + 163.451 + 618.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +%% Contents for page 2 +20 0 obj +<< + /Length 21 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 + +21 0 obj +874 +endobj + +22 0 obj +<< + /Font << + /F1 62 0 R + >> +>> +endobj + +23 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 + +24 0 obj +<< + /AP << + /N 63 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 22 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 + +25 0 obj +<< + /AP << + /N 65 0 R + >> + /Contents (attachment1.txt) + /FS 4 0 R + /NM (attachment1.txt) + /Rect [ + 72 + 400 + 92 + 420 + ] + /Subtype /FileAttachment + /Type /Annot +>> +endobj + +26 0 obj +<< + /AP << + /N 67 0 R + >> + /DA (0 0.4 0 rg /F1 18 Tf) + /DR 22 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 + +27 0 obj +<< + /AP << + /N 69 0 R + >> + /DA () + /Rect [ + 72 + 350 + 92 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +28 0 obj +<< + /AP << + /N 71 0 R + >> + /DA () + /Rect [ + 102 + 350 + 112 + 370 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +29 0 obj +<< + /AP << + /N 73 0 R + >> + /DA () + /Rect [ + 122 + 350 + 142 + 360 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +30 0 obj +<< + /AP << + /N 75 0 R + >> + /DA () + /Rect [ + 152 + 350 + 162 + 370 + ] + /Subtype /FreeText + /Type /Annot +>> +endobj + +31 0 obj +<< + /AP << + /N << + /1 77 0 R + /Off 79 0 R + >> + >> + /AS /1 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 52 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 53 0 R + /Rect [ + 152.749 + 648.501 + 164.801 + 660.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +32 0 obj +<< + /AP << + /N << + /2 81 0 R + /Off 83 0 R + >> + >> + /AS /2 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 52 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 53 0 R + /Rect [ + 152.749 + 627.301 + 164.801 + 639.349 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +33 0 obj +<< + /AP << + /N << + /3 85 0 R + /Off 87 0 R + >> + >> + /AS /3 + /DA (0.18039 0.20392 0.21176 rg /ZaDi 0 Tf) + /DR << + /Font << + /ZaDi 52 0 R + >> + >> + /F 4 + /FT /Btn + /MK << + /CA (l) + >> + /Parent 53 0 R + /Rect [ + 151.399 + 606.501 + 163.451 + 618.549 + ] + /Subtype /Widget + /Type /Annot +>> +endobj + +34 0 obj +<< + /BBox [ + 0 + -2.826 + 118.8 + 11.322 + ] + /Resources 22 0 R + /Subtype /Form + /Type /XObject + /Length 35 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Formy field) Tj +ET +Q +EMC +endstream +endobj + +35 0 obj +53 +endobj + +36 0 obj +<< + /BBox [ + 0 + 0 + 20 + 20 + ] + /Resources << + >> + /Subtype /Form + /Type /XObject + /Length 37 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 + +37 0 obj +52 +endobj + +38 0 obj +<< + /BBox [ + 0 + -2.826 + 140.4 + 11.322 + ] + /Matrix [ + 0 + 1 + -1 + 0 + 0 + 0 + ] + /Resources 22 0 R + /Subtype /Form + /Type /XObject + /Length 39 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Rot-ccw field) Tj +ET +Q +EMC +endstream +endobj + +39 0 obj +55 +endobj + +40 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Resources 22 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 22 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 22 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 22 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 +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 49 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 + +49 0 obj +202 +endobj + +50 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 51 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +51 0 obj +12 +endobj + +52 0 obj +<< + /BaseFont /ZapfDingbats + /Subtype /Type1 + /Type /Font +>> +endobj + +53 0 obj +<< + /DV /1 + /FT /Btn + /Ff 49152 + /Kids [ + 17 0 R + 18 0 R + 19 0 R + ] + /T (r1) + /V /2 +>> +endobj + +54 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 55 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 + +55 0 obj +202 +endobj + +56 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 57 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +57 0 obj +12 +endobj + +58 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 59 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 + +59 0 obj +202 +endobj + +60 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 61 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +61 0 obj +12 +endobj + +62 0 obj +<< + /BaseFont /Courier + /Encoding /WinAnsiEncoding + /Subtype /Type1 + /Type /Font +>> +endobj + +63 0 obj +<< + /BBox [ + 0 + -2.826 + 118.8 + 11.322 + ] + /Resources 22 0 R + /Subtype /Form + /Type /XObject + /Length 64 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Formy field) Tj +ET +Q +EMC +endstream +endobj + +64 0 obj +53 +endobj + +65 0 obj +<< + /BBox [ + 0 + 0 + 20 + 20 + ] + /Resources << + >> + /Subtype /Form + /Type /XObject + /Length 66 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 + +66 0 obj +52 +endobj + +67 0 obj +<< + /BBox [ + 0 + -2.826 + 140.4 + 11.322 + ] + /Matrix [ + 0 + 1 + -1 + 0 + 0 + 0 + ] + /Resources 22 0 R + /Subtype /Form + /Type /XObject + /Length 68 0 R +>> +stream +/Tx BMC +q +BT + /F1 18 Tf + (Rot-ccw field) Tj +ET +Q +EMC +endstream +endobj + +68 0 obj +55 +endobj + +69 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Resources 22 0 R + /Subtype /Form + /Type /XObject + /Length 70 0 R +>> +stream +1 0 0 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +70 0 obj +36 +endobj + +71 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + 0 + 1 + -1 + 0 + 0 + 0 + ] + /Resources 22 0 R + /Subtype /Form + /Type /XObject + /Length 72 0 R +>> +stream +0 1 0 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +72 0 obj +36 +endobj + +73 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + -1 + 0 + 0 + -1 + 0 + 0 + ] + /Resources 22 0 R + /Subtype /Form + /Type /XObject + /Length 74 0 R +>> +stream +0 0 1 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +74 0 obj +36 +endobj + +75 0 obj +<< + /BBox [ + 0 + 0 + 20 + 10 + ] + /Matrix [ + 0 + -1 + 1 + 0 + 0 + 0 + ] + /Resources 22 0 R + /Subtype /Form + /Type /XObject + /Length 76 0 R +>> +stream +0.5 0 1 RG +0 0 20 10 re +0 0 5 10 re +S +endstream +endobj + +76 0 obj +38 +endobj + +77 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 78 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 + +78 0 obj +202 +endobj + +79 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 80 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +80 0 obj +12 +endobj + +81 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 82 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 + +82 0 obj +202 +endobj + +83 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 84 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +84 0 obj +12 +endobj + +85 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 86 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 + +86 0 obj +202 +endobj + +87 0 obj +<< + /BBox [ + 0 + 0 + 12.05 + 12.05 + ] + /Resources 89 0 R + /Subtype /Form + /Type /XObject + /Length 88 0 R +>> +stream +/Tx BMC +EMC +endstream +endobj + +88 0 obj +12 +endobj + +89 0 obj +<< + /Font 90 0 R + /ProcSet [ + /PDF + /Text + ] +>> +endobj + +90 0 obj +<< + /ZaDi 52 0 R +>> +endobj + +xref +0 91 +0000000000 65535 f +0000000025 00000 n +0000000121 00000 n +0000000190 00000 n +0000000272 00000 n +0000000410 00000 n +0000000693 00000 n +0000000967 00000 n +0000001173 00000 n +0000001192 00000 n +0000001435 00000 n +0000001681 00000 n +0000001884 00000 n +0000002135 00000 n +0000002275 00000 n +0000002417 00000 n +0000002559 00000 n +0000002701 00000 n +0000003054 00000 n +0000003407 00000 n +0000003783 00000 n +0000004714 00000 n +0000004735 00000 n +0000004789 00000 n +0000005033 00000 n +0000005279 00000 n +0000005482 00000 n +0000005733 00000 n +0000005873 00000 n +0000006015 00000 n +0000006157 00000 n +0000006299 00000 n +0000006652 00000 n +0000007005 00000 n +0000007358 00000 n +0000007574 00000 n +0000007594 00000 n +0000007798 00000 n +0000007818 00000 n +0000008089 00000 n +0000008109 00000 n +0000008296 00000 n +0000008316 00000 n +0000008556 00000 n +0000008576 00000 n +0000008817 00000 n +0000008837 00000 n +0000009079 00000 n +0000009099 00000 n +0000009458 00000 n +0000009479 00000 n +0000009648 00000 n +0000009668 00000 n +0000009749 00000 n +0000009869 00000 n +0000010228 00000 n +0000010249 00000 n +0000010418 00000 n +0000010438 00000 n +0000010797 00000 n +0000010818 00000 n +0000010987 00000 n +0000011007 00000 n +0000011112 00000 n +0000011328 00000 n +0000011348 00000 n +0000011552 00000 n +0000011572 00000 n +0000011843 00000 n +0000011863 00000 n +0000012050 00000 n +0000012070 00000 n +0000012310 00000 n +0000012330 00000 n +0000012571 00000 n +0000012591 00000 n +0000012833 00000 n +0000012853 00000 n +0000013212 00000 n +0000013233 00000 n +0000013402 00000 n +0000013422 00000 n +0000013781 00000 n +0000013802 00000 n +0000013971 00000 n +0000013991 00000 n +0000014350 00000 n +0000014371 00000 n +0000014540 00000 n +0000014560 00000 n +0000014634 00000 n +trailer << + /Root 1 0 R + /Size 91 + /ID [<31415926535897932384626433832795>] +>> +startxref +14672 +%%EOF