Commit addc0672d142343a5a399fcb90a12f82793175a9

Authored by Jay Berkenbilt
1 parent cb6e5313

Tweak form copying to avoid gratuitous field renames

When copying a page from the original file to the output in --pages,
don't alter the fields or annotations for the first copy of each page.
qpdf/qpdf.cc
... ... @@ -5915,17 +5915,37 @@ static void handle_page_specs(QPDF& pdf, Options& o, bool& warnings)
5915 5915 }
5916 5916 }
5917 5917 dh.addPage(to_copy, false);
5918   - if (page_data.qpdf == &pdf)
  5918 + bool first_copy_from_orig = false;
  5919 + bool this_file = (page_data.qpdf == &pdf);
  5920 + if (this_file)
5919 5921 {
5920 5922 // This is a page from the original file. Keep track
5921 5923 // of the fact that we are using it.
  5924 + first_copy_from_orig = (selected_from_orig.count(pageno) == 0);
5922 5925 selected_from_orig.insert(pageno);
5923   -
5924 5926 }
5925 5927 auto new_page = added_page(pdf, to_copy);
5926   - if (other_afdh->hasAcroForm())
  5928 + // Try to avoid gratuitously renaming fields. In the case
  5929 + // of where we're just extracting a bunch of pages from
  5930 + // the original file and not copying any page more than
  5931 + // once, there's no reason to do anything with the fields.
  5932 + // Since we don't remove fields from the original file
  5933 + // until all copy operations are completed, any foreign
  5934 + // pages that conflict with original pages will be
  5935 + // adjusted. If we copy any page from the original file
  5936 + // more than once, that page would be in conflict with the
  5937 + // previous copy of itself.
  5938 + if (other_afdh->hasAcroForm() &&
  5939 + ((! this_file) || (! first_copy_from_orig)))
5927 5940 {
5928   - QTC::TC("qpdf", "qpdf copy form fields in pages");
  5941 + if (! this_file)
  5942 + {
  5943 + QTC::TC("qpdf", "qpdf copy fields not this file");
  5944 + }
  5945 + else if (! first_copy_from_orig)
  5946 + {
  5947 + QTC::TC("qpdf", "qpdf copy fields non-first from orig");
  5948 + }
5929 5949 this_afdh->fixCopiedAnnotations(
5930 5950 new_page, to_copy.getObjectHandle(), *other_afdh,
5931 5951 &referenced_fields);
... ...
qpdf/qpdf.testcov
... ... @@ -577,7 +577,6 @@ QPDFAcroFormDocumentHelper copy annotation 3
577 577 QPDFAcroFormDocumentHelper field with parent 3
578 578 QPDFAcroFormDocumentHelper modify ap matrix 0
579 579 qpdf copy form fields in split_pages 0
580   -qpdf copy form fields in pages 0
581 580 qpdf keep some fields in pages 0
582 581 qpdf pages keeping field from original 0
583 582 qpdf no more fields in pages 0
... ... @@ -591,3 +590,5 @@ QPDFAcroFormDocumentHelper ap conflict 0
591 590 QPDFAcroFormDocumentHelper ap rename 0
592 591 QPDFAcroFormDocumentHelper /DA parse error 0
593 592 QPDFAcroFormDocumentHelper AP parse error 0
  593 +qpdf copy fields not this file 0
  594 +qpdf copy fields non-first from orig 0
... ...
qpdf/qtest/qpdf.test
... ... @@ -2425,7 +2425,7 @@ foreach my $f (qw(screen print))
2425 2425 show_ntests();
2426 2426 # ----------
2427 2427 $td->notify("--- Copy Annotations ---");
2428   -$n_tests += 35;
  2428 +$n_tests += 37;
2429 2429  
2430 2430 $td->runtest("complex copy annotations",
2431 2431 {$td->COMMAND =>
... ... @@ -2508,6 +2508,16 @@ $td->runtest("not keeping any fields",
2508 2508 $td->runtest("check output",
2509 2509 {$td->FILE => "a.pdf"},
2510 2510 {$td->FILE => "kept-no-fields.pdf"});
  2511 +$td->runtest("other file first",
  2512 + {$td->COMMAND =>
  2513 + "qpdf --qdf --no-original-object-ids" .
  2514 + " --static-id fields-two-pages.pdf" .
  2515 + " --pages ./fields-two-pages.pdf . 1 -- a.pdf"},
  2516 + {$td->STRING => "", $td->EXIT_STATUS => 0},
  2517 + $td->NORMALIZE_NEWLINES);
  2518 +$td->runtest("check output",
  2519 + {$td->FILE => "a.pdf"},
  2520 + {$td->FILE => "other-file-first.pdf"});
2511 2521  
2512 2522 $td->runtest("field conflict resolution",
2513 2523 {$td->COMMAND =>
... ...
qpdf/qtest/qpdf/default-da-q-out.pdf
... ... @@ -49,7 +49,7 @@ endobj
49 49 484.922
50 50 ]
51 51 /Subtype /Widget
52   - /T (Text Box 1+1)
  52 + /T (Text Box 1)
53 53 /Type /Annot
54 54 /V (Formy field)
55 55 >>
... ... @@ -72,7 +72,7 @@ endobj
72 72 470.374
73 73 ]
74 74 /Subtype /Widget
75   - /T (Text Box 2+1)
  75 + /T (Text Box 2)
76 76 /Type /Annot
77 77 /V (Rot-ccw field)
78 78 >>
... ... @@ -88,7 +88,7 @@ endobj
88 88 18 0 R
89 89 19 0 R
90 90 ]
91   - /T (r1+1)
  91 + /T (r1)
92 92 /V /2
93 93 >>
94 94 endobj
... ... @@ -111,7 +111,7 @@ endobj
111 111 484.922
112 112 ]
113 113 /Subtype /Widget
114   - /T (Text Box 1+2)
  114 + /T (Text Box 1+1)
115 115 /Type /Annot
116 116 /V (Formy field)
117 117 >>
... ... @@ -135,7 +135,7 @@ endobj
135 135 470.374
136 136 ]
137 137 /Subtype /Widget
138   - /T (Text Box 2+2)
  138 + /T (Text Box 2+1)
139 139 /Type /Annot
140 140 /V (Rot-ccw field)
141 141 >>
... ... @@ -153,7 +153,7 @@ endobj
153 153 26 0 R
154 154 ]
155 155 /Q 1
156   - /T (r1+2)
  156 + /T (r1+1)
157 157 /V /2
158 158 >>
159 159 endobj
... ... @@ -1826,119 +1826,119 @@ xref
1826 1826 0000000025 00000 n
1827 1827 0000000248 00000 n
1828 1828 0000000318 00000 n
1829   -0000000564 00000 n
1830   -0000000815 00000 n
1831   -0000000936 00000 n
1832   -0000001192 00000 n
1833   -0000001453 00000 n
1834   -0000001613 00000 n
1835   -0000001683 00000 n
1836   -0000001768 00000 n
1837   -0000001873 00000 n
1838   -0000001978 00000 n
1839   -0000002212 00000 n
1840   -0000002232 00000 n
1841   -0000002521 00000 n
1842   -0000002541 00000 n
1843   -0000002895 00000 n
1844   -0000003247 00000 n
1845   -0000003601 00000 n
1846   -0000003839 00000 n
1847   -0000003859 00000 n
1848   -0000004152 00000 n
1849   -0000004172 00000 n
1850   -0000004485 00000 n
1851   -0000004796 00000 n
1852   -0000005109 00000 n
1853   -0000005250 00000 n
1854   -0000005533 00000 n
1855   -0000005807 00000 n
1856   -0000006166 00000 n
1857   -0000006187 00000 n
1858   -0000006356 00000 n
1859   -0000006376 00000 n
1860   -0000006457 00000 n
1861   -0000006816 00000 n
1862   -0000006837 00000 n
1863   -0000007006 00000 n
1864   -0000007026 00000 n
1865   -0000007385 00000 n
1866   -0000007406 00000 n
1867   -0000007575 00000 n
1868   -0000007595 00000 n
1869   -0000007651 00000 n
1870   -0000007707 00000 n
1871   -0000008066 00000 n
1872   -0000008087 00000 n
1873   -0000008256 00000 n
1874   -0000008276 00000 n
1875   -0000008635 00000 n
1876   -0000008656 00000 n
1877   -0000008825 00000 n
1878   -0000008845 00000 n
1879   -0000009204 00000 n
1880   -0000009225 00000 n
1881   -0000009394 00000 n
1882   -0000009414 00000 n
1883   -0000009622 00000 n
1884   -0000009642 00000 n
1885   -0000009886 00000 n
1886   -0000010090 00000 n
1887   -0000010230 00000 n
1888   -0000010372 00000 n
1889   -0000010514 00000 n
1890   -0000010679 00000 n
1891   -0000011610 00000 n
1892   -0000011631 00000 n
1893   -0000011875 00000 n
1894   -0000012079 00000 n
1895   -0000012219 00000 n
1896   -0000012361 00000 n
1897   -0000012504 00000 n
1898   -0000012670 00000 n
1899   -0000013601 00000 n
1900   -0000013622 00000 n
1901   -0000013676 00000 n
1902   -0000013751 00000 n
1903   -0000013844 00000 n
1904   -0000013937 00000 n
1905   -0000014030 00000 n
1906   -0000014123 00000 n
1907   -0000014216 00000 n
1908   -0000014309 00000 n
1909   -0000014513 00000 n
1910   -0000014533 00000 n
1911   -0000014719 00000 n
1912   -0000014739 00000 n
1913   -0000014978 00000 n
1914   -0000014998 00000 n
1915   -0000015238 00000 n
1916   -0000015258 00000 n
1917   -0000015499 00000 n
1918   -0000015519 00000 n
1919   -0000015723 00000 n
1920   -0000015743 00000 n
1921   -0000015876 00000 n
1922   -0000016064 00000 n
1923   -0000016084 00000 n
1924   -0000016325 00000 n
1925   -0000016345 00000 n
1926   -0000016589 00000 n
1927   -0000016610 00000 n
1928   -0000016855 00000 n
1929   -0000016876 00000 n
1930   -0000016915 00000 n
1931   -0000016997 00000 n
1932   -0000017207 00000 n
1933   -0000017228 00000 n
1934   -0000017285 00000 n
1935   -0000017342 00000 n
1936   -0000017399 00000 n
  1829 +0000000562 00000 n
  1830 +0000000811 00000 n
  1831 +0000000930 00000 n
  1832 +0000001186 00000 n
  1833 +0000001447 00000 n
  1834 +0000001607 00000 n
  1835 +0000001677 00000 n
  1836 +0000001762 00000 n
  1837 +0000001867 00000 n
  1838 +0000001972 00000 n
  1839 +0000002206 00000 n
  1840 +0000002226 00000 n
  1841 +0000002515 00000 n
  1842 +0000002535 00000 n
  1843 +0000002889 00000 n
  1844 +0000003241 00000 n
  1845 +0000003595 00000 n
  1846 +0000003833 00000 n
  1847 +0000003853 00000 n
  1848 +0000004146 00000 n
  1849 +0000004166 00000 n
  1850 +0000004479 00000 n
  1851 +0000004790 00000 n
  1852 +0000005103 00000 n
  1853 +0000005244 00000 n
  1854 +0000005527 00000 n
  1855 +0000005801 00000 n
  1856 +0000006160 00000 n
  1857 +0000006181 00000 n
  1858 +0000006350 00000 n
  1859 +0000006370 00000 n
  1860 +0000006451 00000 n
  1861 +0000006810 00000 n
  1862 +0000006831 00000 n
  1863 +0000007000 00000 n
  1864 +0000007020 00000 n
  1865 +0000007379 00000 n
  1866 +0000007400 00000 n
  1867 +0000007569 00000 n
  1868 +0000007589 00000 n
  1869 +0000007645 00000 n
  1870 +0000007701 00000 n
  1871 +0000008060 00000 n
  1872 +0000008081 00000 n
  1873 +0000008250 00000 n
  1874 +0000008270 00000 n
  1875 +0000008629 00000 n
  1876 +0000008650 00000 n
  1877 +0000008819 00000 n
  1878 +0000008839 00000 n
  1879 +0000009198 00000 n
  1880 +0000009219 00000 n
  1881 +0000009388 00000 n
  1882 +0000009408 00000 n
  1883 +0000009616 00000 n
  1884 +0000009636 00000 n
  1885 +0000009880 00000 n
  1886 +0000010084 00000 n
  1887 +0000010224 00000 n
  1888 +0000010366 00000 n
  1889 +0000010508 00000 n
  1890 +0000010673 00000 n
  1891 +0000011604 00000 n
  1892 +0000011625 00000 n
  1893 +0000011869 00000 n
  1894 +0000012073 00000 n
  1895 +0000012213 00000 n
  1896 +0000012355 00000 n
  1897 +0000012498 00000 n
  1898 +0000012664 00000 n
  1899 +0000013595 00000 n
  1900 +0000013616 00000 n
  1901 +0000013670 00000 n
  1902 +0000013745 00000 n
  1903 +0000013838 00000 n
  1904 +0000013931 00000 n
  1905 +0000014024 00000 n
  1906 +0000014117 00000 n
  1907 +0000014210 00000 n
  1908 +0000014303 00000 n
  1909 +0000014507 00000 n
  1910 +0000014527 00000 n
  1911 +0000014713 00000 n
  1912 +0000014733 00000 n
  1913 +0000014972 00000 n
  1914 +0000014992 00000 n
  1915 +0000015232 00000 n
  1916 +0000015252 00000 n
  1917 +0000015493 00000 n
  1918 +0000015513 00000 n
  1919 +0000015717 00000 n
  1920 +0000015737 00000 n
  1921 +0000015870 00000 n
  1922 +0000016058 00000 n
  1923 +0000016078 00000 n
  1924 +0000016319 00000 n
  1925 +0000016339 00000 n
  1926 +0000016583 00000 n
  1927 +0000016604 00000 n
  1928 +0000016849 00000 n
  1929 +0000016870 00000 n
  1930 +0000016909 00000 n
  1931 +0000016991 00000 n
  1932 +0000017201 00000 n
  1933 +0000017222 00000 n
  1934 +0000017279 00000 n
  1935 +0000017336 00000 n
  1936 +0000017393 00000 n
1937 1937 trailer <<
1938 1938 /Root 1 0 R
1939 1939 /Size 112
1940 1940 /ID [<a2f146daeb6d814a742556489dab9882><31415926535897932384626433832795>]
1941 1941 >>
1942 1942 startxref
1943   -17456
  1943 +17450
1944 1944 %%EOF
... ...
qpdf/qtest/qpdf/kept-some-fields.pdf
No preview for this file type
qpdf/qtest/qpdf/other-file-first.pdf 0 โ†’ 100644
No preview for this file type
qpdf/qtest/qpdf/resolved-appearance-conflicts.pdf
... ... @@ -40,9 +40,35 @@ endobj
40 40 3 0 obj
41 41 <<
42 42 /AP <<
  43 + /N 14 0 R
  44 + >>
  45 + /DA (0.29803 0.29803 0.29803 rg /F1 12 Tf)
  46 + /DR <<
  47 + /Font 16 0 R
  48 + >>
  49 + /DV <feff>
  50 + /F 4
  51 + /FT /Tx
  52 + /P 17 0 R
  53 + /Rect [
  54 + 59.6
  55 + 715
  56 + 170.5
  57 + 731.4
  58 + ]
  59 + /Subtype /Widget
  60 + /T (Text Box 1)
  61 + /Type /Annot
  62 + /V <feff>
  63 +>>
  64 +endobj
  65 +
  66 +4 0 obj
  67 +<<
  68 + /AP <<
43 69 /N <<
44   - /Off 14 0 R
45   - /Yes 16 0 R
  70 + /Off 18 0 R
  71 + /Yes 20 0 R
46 72 >>
47 73 >>
48 74 /AS /Off
... ... @@ -58,7 +84,7 @@ endobj
58 84 /MK <<
59 85 /CA (8)
60 86 >>
61   - /P 18 0 R
  87 + /P 17 0 R
62 88 /Rect [
63 89 174.5
64 90 719.7
... ... @@ -66,38 +92,12 @@ endobj
66 92 731.6
67 93 ]
68 94 /Subtype /Widget
69   - /T (Check Box 1+1)
  95 + /T (Check Box 1)
70 96 /Type /Annot
71 97 /V /Off
72 98 >>
73 99 endobj
74 100  
75   -4 0 obj
76   -<<
77   - /AP <<
78   - /N 19 0 R
79   - >>
80   - /DA (0.29803 0.29803 0.29803 rg /F1 12 Tf)
81   - /DR <<
82   - /Font 21 0 R
83   - >>
84   - /DV <feff>
85   - /F 4
86   - /FT /Tx
87   - /P 18 0 R
88   - /Rect [
89   - 59.6
90   - 715
91   - 170.5
92   - 731.4
93   - ]
94   - /Subtype /Widget
95   - /T (Text Box 1+1)
96   - /Type /Annot
97   - /V <feff>
98   ->>
99   -endobj
100   -
101 101 5 0 obj
102 102 <<
103 103 /AP <<
... ... @@ -119,7 +119,7 @@ endobj
119 119 /MK <<
120 120 /CA (8)
121 121 >>
122   - /P 18 0 R
  122 + /P 17 0 R
123 123 /Rect [
124 124 174.5
125 125 719.7
... ... @@ -127,7 +127,7 @@ endobj
127 127 731.6
128 128 ]
129 129 /Subtype /Widget
130   - /T (Check Box 1+1+1)
  130 + /T (Check Box 1+1)
131 131 /Type /Annot
132 132 /V /Off
133 133 >>
... ... @@ -140,12 +140,12 @@ endobj
140 140 >>
141 141 /DA (0.29803 0.29803 0.29803 rg /F1 12 Tf)
142 142 /DR <<
143   - /Font 21 0 R
  143 + /Font 16 0 R
144 144 >>
145 145 /DV <feff>
146 146 /F 4
147 147 /FT /Tx
148   - /P 18 0 R
  148 + /P 17 0 R
149 149 /Rect [
150 150 59.6
151 151 715
... ... @@ -153,7 +153,7 @@ endobj
153 153 731.4
154 154 ]
155 155 /Subtype /Widget
156   - /T (Text Box 1+1+1)
  156 + /T (Text Box 1+1)
157 157 /Type /Annot
158 158 /V <feff>
159 159 >>
... ... @@ -218,7 +218,7 @@ endobj
218 218 <<
219 219 /Count 3
220 220 /Kids [
221   - 18 0 R
  221 + 17 0 R
222 222 35 0 R
223 223 32 0 R
224 224 ]
... ... @@ -265,60 +265,45 @@ endobj
265 265 /BBox [
266 266 0
267 267 0
268   - 12.1
269   - 12.1
  268 + 110.7
  269 + 16.6
270 270 ]
271   - /Resources 2 0 R
  271 + /Resources <<
  272 + /Font <<
  273 + /F1 10 0 R
  274 + /F1_1 36 0 R
  275 + >>
  276 + >>
272 277 /Subtype /Form
273 278 /Type /XObject
274 279 /Length 15 0 R
275 280 >>
276 281 stream
  282 +BT /F1_1 12 Tf ET
277 283 /Tx BMC
278 284 EMC
279 285 endstream
280 286 endobj
281 287  
282 288 15 0 obj
283   -12
  289 +30
284 290 endobj
285 291  
286 292 16 0 obj
287 293 <<
288   - /BBox [
289   - 0
290   - 0
291   - 12.1
292   - 12.1
293   - ]
294   - /Resources 2 0 R
295   - /Subtype /Form
296   - /Type /XObject
297   - /Length 17 0 R
  294 + /F1 10 0 R
  295 + /ZaDi 12 0 R
298 296 >>
299   -stream
300   -/Tx BMC
301   -q BT
302   -0.29803 0.29803 0.29803 rg /ZaDi 12.1 Tf
303   -1.9 1.9 Td (8) Tj
304   -ET
305   -Q
306   -EMC
307   -endstream
308   -endobj
309   -
310   -17 0 obj
311   -81
312 297 endobj
313 298  
314 299 %% Page 1
315   -18 0 obj
  300 +17 0 obj
316 301 <<
317 302 /Annots [
318   - 3 0 R
319 303 4 0 R
  304 + 3 0 R
320 305 ]
321   - /Contents 36 0 R
  306 + /Contents 37 0 R
322 307 /Group <<
323 308 /CS /DeviceRGB
324 309 /I true
... ... @@ -344,40 +329,55 @@ endobj
344 329 >>
345 330 endobj
346 331  
347   -19 0 obj
  332 +18 0 obj
348 333 <<
349 334 /BBox [
350 335 0
351 336 0
352   - 110.7
353   - 16.6
  337 + 12.1
  338 + 12.1
354 339 ]
355   - /Resources <<
356   - /Font <<
357   - /F1 10 0 R
358   - /F1_1 38 0 R
359   - >>
360   - >>
  340 + /Resources 2 0 R
361 341 /Subtype /Form
362 342 /Type /XObject
363   - /Length 20 0 R
  343 + /Length 19 0 R
364 344 >>
365 345 stream
366   -BT /F1_1 12 Tf ET
367 346 /Tx BMC
368 347 EMC
369 348 endstream
370 349 endobj
371 350  
372   -20 0 obj
373   -30
  351 +19 0 obj
  352 +12
374 353 endobj
375 354  
376   -21 0 obj
  355 +20 0 obj
377 356 <<
378   - /F1 10 0 R
379   - /ZaDi 12 0 R
  357 + /BBox [
  358 + 0
  359 + 0
  360 + 12.1
  361 + 12.1
  362 + ]
  363 + /Resources 2 0 R
  364 + /Subtype /Form
  365 + /Type /XObject
  366 + /Length 21 0 R
380 367 >>
  368 +stream
  369 +/Tx BMC
  370 +q BT
  371 +0.29803 0.29803 0.29803 rg /ZaDi 12.1 Tf
  372 +1.9 1.9 Td (8) Tj
  373 +ET
  374 +Q
  375 +EMC
  376 +endstream
  377 +endobj
  378 +
  379 +21 0 obj
  380 +81
381 381 endobj
382 382  
383 383 22 0 obj
... ... @@ -442,7 +442,7 @@ endobj
442 442 /Resources <<
443 443 /Font <<
444 444 /F1 10 0 R
445   - /F1_1 38 0 R
  445 + /F1_1 36 0 R
446 446 >>
447 447 >>
448 448 /Subtype /Form
... ... @@ -580,7 +580,7 @@ endobj
580 580 5 0 R
581 581 6 0 R
582 582 ]
583   - /Contents 36 0 R
  583 + /Contents 37 0 R
584 584 /Group <<
585 585 /CS /DeviceRGB
586 586 /I true
... ... @@ -606,10 +606,19 @@ endobj
606 606 >>
607 607 endobj
608 608  
609   -%% Contents for page 2
610 609 36 0 obj
611 610 <<
612   - /Length 37 0 R
  611 + /BaseFont /Courier
  612 + /Encoding /WinAnsiEncoding
  613 + /Subtype /Type1
  614 + /Type /Font
  615 +>>
  616 +endobj
  617 +
  618 +%% Contents for page 2
  619 +37 0 obj
  620 +<<
  621 + /Length 38 0 R
613 622 >>
614 623 stream
615 624 0.1 w
... ... @@ -634,17 +643,8 @@ endstream
634 643 endobj
635 644  
636 645 %QDF: ignore_newline
637   -37 0 obj
638   -258
639   -endobj
640   -
641 646 38 0 obj
642   -<<
643   - /BaseFont /Courier
644   - /Encoding /WinAnsiEncoding
645   - /Subtype /Type1
646   - /Type /Font
647   ->>
  647 +258
648 648 endobj
649 649  
650 650 39 0 obj
... ... @@ -720,46 +720,46 @@ xref
720 720 0000000025 00000 n
721 721 0000000247 00000 n
722 722 0000000389 00000 n
723   -0000000774 00000 n
724   -0000001059 00000 n
725   -0000001446 00000 n
726   -0000001733 00000 n
727   -0000002079 00000 n
728   -0000002347 00000 n
729   -0000002442 00000 n
730   -0000002549 00000 n
731   -0000002656 00000 n
732   -0000002737 00000 n
733   -0000002818 00000 n
734   -0000002984 00000 n
735   -0000003004 00000 n
736   -0000003239 00000 n
737   -0000003269 00000 n
738   -0000003620 00000 n
739   -0000003863 00000 n
740   -0000003883 00000 n
741   -0000003934 00000 n
742   -0000004100 00000 n
743   -0000004120 00000 n
744   -0000004355 00000 n
745   -0000004375 00000 n
746   -0000004618 00000 n
747   -0000004638 00000 n
748   -0000004805 00000 n
749   -0000004825 00000 n
750   -0000005063 00000 n
751   -0000005093 00000 n
752   -0000005444 00000 n
753   -0000005693 00000 n
754   -0000005723 00000 n
755   -0000006097 00000 n
756   -0000006434 00000 n
757   -0000006455 00000 n
758   -0000006560 00000 n
759   -0000006671 00000 n
760   -0000006805 00000 n
761   -0000007142 00000 n
762   -0000007163 00000 n
  723 +0000000672 00000 n
  724 +0000001055 00000 n
  725 +0000001440 00000 n
  726 +0000001725 00000 n
  727 +0000002071 00000 n
  728 +0000002339 00000 n
  729 +0000002434 00000 n
  730 +0000002541 00000 n
  731 +0000002648 00000 n
  732 +0000002729 00000 n
  733 +0000002810 00000 n
  734 +0000003053 00000 n
  735 +0000003073 00000 n
  736 +0000003134 00000 n
  737 +0000003485 00000 n
  738 +0000003651 00000 n
  739 +0000003671 00000 n
  740 +0000003906 00000 n
  741 +0000003926 00000 n
  742 +0000004092 00000 n
  743 +0000004112 00000 n
  744 +0000004347 00000 n
  745 +0000004367 00000 n
  746 +0000004610 00000 n
  747 +0000004630 00000 n
  748 +0000004797 00000 n
  749 +0000004817 00000 n
  750 +0000005055 00000 n
  751 +0000005085 00000 n
  752 +0000005436 00000 n
  753 +0000005685 00000 n
  754 +0000005715 00000 n
  755 +0000006066 00000 n
  756 +0000006194 00000 n
  757 +0000006531 00000 n
  758 +0000006552 00000 n
  759 +0000006663 00000 n
  760 +0000006797 00000 n
  761 +0000007134 00000 n
  762 +0000007155 00000 n
763 763 trailer <<
764 764 /DocChecksum /606E154FE5CF1A6B8B73D870AC8EBE04
765 765 /Root 1 0 R
... ... @@ -767,5 +767,5 @@ trailer &lt;&lt;
767 767 /ID [<f1c10d47699f47f5166db140c15c0bc1><31415926535897932384626433832795>]
768 768 >>
769 769 startxref
770   -7268
  770 +7260
771 771 %%EOF
... ...
qpdf/qtest/qpdf/resolved-field-conflicts.pdf
... ... @@ -55,7 +55,7 @@ endobj
55 55 484.922
56 56 ]
57 57 /Subtype /Widget
58   - /T (Text Box 1+1)
  58 + /T (Text Box 1)
59 59 /Type /Annot
60 60 /V (Formy field)
61 61 >>
... ... @@ -78,7 +78,7 @@ endobj
78 78 470.374
79 79 ]
80 80 /Subtype /Widget
81   - /T (Text Box 2+1)
  81 + /T (Text Box 2)
82 82 /Type /Annot
83 83 /V (Rot-ccw field)
84 84 >>
... ... @@ -94,7 +94,7 @@ endobj
94 94 24 0 R
95 95 25 0 R
96 96 ]
97   - /T (r1+1)
  97 + /T (r1)
98 98 /V /2
99 99 >>
100 100 endobj
... ... @@ -116,7 +116,7 @@ endobj
116 116 484.922
117 117 ]
118 118 /Subtype /Widget
119   - /T (Text Box 1+1+1)
  119 + /T (Text Box 1+1)
120 120 /Type /Annot
121 121 /V (Formy field)
122 122 >>
... ... @@ -139,7 +139,7 @@ endobj
139 139 470.374
140 140 ]
141 141 /Subtype /Widget
142   - /T (Text Box 2+1+1)
  142 + /T (Text Box 2+1)
143 143 /Type /Annot
144 144 /V (Rot-ccw field)
145 145 >>
... ... @@ -155,7 +155,7 @@ endobj
155 155 31 0 R
156 156 32 0 R
157 157 ]
158   - /T (r1+1+1)
  158 + /T (r1+1)
159 159 /V /2
160 160 >>
161 161 endobj
... ... @@ -3316,209 +3316,209 @@ xref
3316 3316 0000000025 00000 n
3317 3317 0000000326 00000 n
3318 3318 0000000396 00000 n
3319   -0000000642 00000 n
3320   -0000000893 00000 n
3321   -0000001014 00000 n
3322   -0000001262 00000 n
3323   -0000001515 00000 n
3324   -0000001638 00000 n
3325   -0000001886 00000 n
3326   -0000002140 00000 n
3327   -0000002262 00000 n
3328   -0000002511 00000 n
3329   -0000002765 00000 n
3330   -0000002887 00000 n
3331   -0000002958 00000 n
3332   -0000003065 00000 n
3333   -0000003170 00000 n
3334   -0000003275 00000 n
3335   -0000003490 00000 n
3336   -0000003510 00000 n
3337   -0000003780 00000 n
3338   -0000003800 00000 n
3339   -0000004152 00000 n
3340   -0000004504 00000 n
3341   -0000004856 00000 n
3342   -0000005071 00000 n
3343   -0000005091 00000 n
3344   -0000005361 00000 n
3345   -0000005381 00000 n
3346   -0000005733 00000 n
3347   -0000006085 00000 n
3348   -0000006437 00000 n
3349   -0000006655 00000 n
3350   -0000006675 00000 n
3351   -0000006948 00000 n
3352   -0000006968 00000 n
3353   -0000007280 00000 n
3354   -0000007592 00000 n
3355   -0000007904 00000 n
3356   -0000008122 00000 n
3357   -0000008142 00000 n
3358   -0000008415 00000 n
3359   -0000008435 00000 n
3360   -0000008747 00000 n
3361   -0000009059 00000 n
3362   -0000009373 00000 n
3363   -0000009516 00000 n
3364   -0000009806 00000 n
3365   -0000010096 00000 n
3366   -0000010389 00000 n
3367   -0000010673 00000 n
3368   -0000011033 00000 n
3369   -0000011054 00000 n
3370   -0000011224 00000 n
3371   -0000011244 00000 n
3372   -0000011325 00000 n
3373   -0000011685 00000 n
3374   -0000011706 00000 n
3375   -0000011876 00000 n
3376   -0000011896 00000 n
3377   -0000012256 00000 n
3378   -0000012277 00000 n
3379   -0000012447 00000 n
3380   -0000012467 00000 n
3381   -0000012827 00000 n
3382   -0000012848 00000 n
3383   -0000013018 00000 n
3384   -0000013038 00000 n
3385   -0000013398 00000 n
3386   -0000013419 00000 n
3387   -0000013589 00000 n
3388   -0000013609 00000 n
3389   -0000013969 00000 n
3390   -0000013990 00000 n
3391   -0000014160 00000 n
3392   -0000014180 00000 n
3393   -0000014236 00000 n
3394   -0000014292 00000 n
3395   -0000014652 00000 n
3396   -0000014673 00000 n
3397   -0000014843 00000 n
3398   -0000014863 00000 n
3399   -0000015223 00000 n
3400   -0000015244 00000 n
3401   -0000015414 00000 n
3402   -0000015434 00000 n
3403   -0000015794 00000 n
3404   -0000015815 00000 n
3405   -0000015985 00000 n
3406   -0000016005 00000 n
3407   -0000016061 00000 n
3408   -0000016117 00000 n
3409   -0000016477 00000 n
3410   -0000016498 00000 n
3411   -0000016668 00000 n
3412   -0000016688 00000 n
3413   -0000017048 00000 n
3414   -0000017069 00000 n
3415   -0000017240 00000 n
3416   -0000017261 00000 n
3417   -0000017623 00000 n
3418   -0000017645 00000 n
3419   -0000017817 00000 n
3420   -0000017838 00000 n
3421   -0000018048 00000 n
3422   -0000018069 00000 n
3423   -0000018314 00000 n
3424   -0000018520 00000 n
3425   -0000018662 00000 n
3426   -0000018806 00000 n
3427   -0000018950 00000 n
3428   -0000019117 00000 n
3429   -0000020050 00000 n
3430   -0000020072 00000 n
3431   -0000020317 00000 n
3432   -0000020523 00000 n
3433   -0000020665 00000 n
3434   -0000020809 00000 n
3435   -0000020953 00000 n
3436   -0000021097 00000 n
3437   -0000021342 00000 n
3438   -0000021549 00000 n
3439   -0000021691 00000 n
3440   -0000021835 00000 n
3441   -0000021979 00000 n
3442   -0000022146 00000 n
3443   -0000023079 00000 n
3444   -0000023101 00000 n
3445   -0000023156 00000 n
3446   -0000023401 00000 n
3447   -0000023608 00000 n
3448   -0000023750 00000 n
3449   -0000023894 00000 n
3450   -0000024038 00000 n
3451   -0000024182 00000 n
3452   -0000024258 00000 n
3453   -0000024352 00000 n
3454   -0000024446 00000 n
3455   -0000024540 00000 n
3456   -0000024634 00000 n
3457   -0000024728 00000 n
3458   -0000024822 00000 n
3459   -0000024916 00000 n
3460   -0000025010 00000 n
3461   -0000025104 00000 n
3462   -0000025198 00000 n
3463   -0000025292 00000 n
3464   -0000025386 00000 n
3465   -0000025592 00000 n
3466   -0000025613 00000 n
3467   -0000025801 00000 n
3468   -0000025822 00000 n
3469   -0000026063 00000 n
3470   -0000026084 00000 n
3471   -0000026326 00000 n
3472   -0000026347 00000 n
3473   -0000026590 00000 n
3474   -0000026611 00000 n
3475   -0000026817 00000 n
3476   -0000026838 00000 n
3477   -0000027026 00000 n
3478   -0000027047 00000 n
3479   -0000027288 00000 n
3480   -0000027309 00000 n
3481   -0000027551 00000 n
3482   -0000027572 00000 n
3483   -0000027815 00000 n
3484   -0000027836 00000 n
3485   -0000028042 00000 n
3486   -0000028063 00000 n
3487   -0000028197 00000 n
3488   -0000028387 00000 n
3489   -0000028408 00000 n
3490   -0000028651 00000 n
3491   -0000028672 00000 n
3492   -0000028916 00000 n
3493   -0000028937 00000 n
3494   -0000029182 00000 n
3495   -0000029203 00000 n
3496   -0000029409 00000 n
3497   -0000029430 00000 n
3498   -0000029620 00000 n
3499   -0000029641 00000 n
3500   -0000029884 00000 n
3501   -0000029905 00000 n
3502   -0000030149 00000 n
3503   -0000030170 00000 n
3504   -0000030415 00000 n
3505   -0000030436 00000 n
3506   -0000030475 00000 n
3507   -0000030557 00000 n
3508   -0000030767 00000 n
3509   -0000030788 00000 n
3510   -0000030845 00000 n
3511   -0000030902 00000 n
3512   -0000030959 00000 n
3513   -0000031016 00000 n
3514   -0000031073 00000 n
3515   -0000031130 00000 n
3516   -0000031187 00000 n
  3319 +0000000640 00000 n
  3320 +0000000889 00000 n
  3321 +0000001008 00000 n
  3322 +0000001254 00000 n
  3323 +0000001505 00000 n
  3324 +0000001626 00000 n
  3325 +0000001874 00000 n
  3326 +0000002128 00000 n
  3327 +0000002250 00000 n
  3328 +0000002499 00000 n
  3329 +0000002753 00000 n
  3330 +0000002875 00000 n
  3331 +0000002946 00000 n
  3332 +0000003053 00000 n
  3333 +0000003158 00000 n
  3334 +0000003263 00000 n
  3335 +0000003478 00000 n
  3336 +0000003498 00000 n
  3337 +0000003768 00000 n
  3338 +0000003788 00000 n
  3339 +0000004140 00000 n
  3340 +0000004492 00000 n
  3341 +0000004844 00000 n
  3342 +0000005059 00000 n
  3343 +0000005079 00000 n
  3344 +0000005349 00000 n
  3345 +0000005369 00000 n
  3346 +0000005721 00000 n
  3347 +0000006073 00000 n
  3348 +0000006425 00000 n
  3349 +0000006643 00000 n
  3350 +0000006663 00000 n
  3351 +0000006936 00000 n
  3352 +0000006956 00000 n
  3353 +0000007268 00000 n
  3354 +0000007580 00000 n
  3355 +0000007892 00000 n
  3356 +0000008110 00000 n
  3357 +0000008130 00000 n
  3358 +0000008403 00000 n
  3359 +0000008423 00000 n
  3360 +0000008735 00000 n
  3361 +0000009047 00000 n
  3362 +0000009361 00000 n
  3363 +0000009504 00000 n
  3364 +0000009794 00000 n
  3365 +0000010084 00000 n
  3366 +0000010377 00000 n
  3367 +0000010661 00000 n
  3368 +0000011021 00000 n
  3369 +0000011042 00000 n
  3370 +0000011212 00000 n
  3371 +0000011232 00000 n
  3372 +0000011313 00000 n
  3373 +0000011673 00000 n
  3374 +0000011694 00000 n
  3375 +0000011864 00000 n
  3376 +0000011884 00000 n
  3377 +0000012244 00000 n
  3378 +0000012265 00000 n
  3379 +0000012435 00000 n
  3380 +0000012455 00000 n
  3381 +0000012815 00000 n
  3382 +0000012836 00000 n
  3383 +0000013006 00000 n
  3384 +0000013026 00000 n
  3385 +0000013386 00000 n
  3386 +0000013407 00000 n
  3387 +0000013577 00000 n
  3388 +0000013597 00000 n
  3389 +0000013957 00000 n
  3390 +0000013978 00000 n
  3391 +0000014148 00000 n
  3392 +0000014168 00000 n
  3393 +0000014224 00000 n
  3394 +0000014280 00000 n
  3395 +0000014640 00000 n
  3396 +0000014661 00000 n
  3397 +0000014831 00000 n
  3398 +0000014851 00000 n
  3399 +0000015211 00000 n
  3400 +0000015232 00000 n
  3401 +0000015402 00000 n
  3402 +0000015422 00000 n
  3403 +0000015782 00000 n
  3404 +0000015803 00000 n
  3405 +0000015973 00000 n
  3406 +0000015993 00000 n
  3407 +0000016049 00000 n
  3408 +0000016105 00000 n
  3409 +0000016465 00000 n
  3410 +0000016486 00000 n
  3411 +0000016656 00000 n
  3412 +0000016676 00000 n
  3413 +0000017036 00000 n
  3414 +0000017057 00000 n
  3415 +0000017228 00000 n
  3416 +0000017249 00000 n
  3417 +0000017611 00000 n
  3418 +0000017633 00000 n
  3419 +0000017805 00000 n
  3420 +0000017826 00000 n
  3421 +0000018036 00000 n
  3422 +0000018057 00000 n
  3423 +0000018302 00000 n
  3424 +0000018508 00000 n
  3425 +0000018650 00000 n
  3426 +0000018794 00000 n
  3427 +0000018938 00000 n
  3428 +0000019105 00000 n
  3429 +0000020038 00000 n
  3430 +0000020060 00000 n
  3431 +0000020305 00000 n
  3432 +0000020511 00000 n
  3433 +0000020653 00000 n
  3434 +0000020797 00000 n
  3435 +0000020941 00000 n
  3436 +0000021085 00000 n
  3437 +0000021330 00000 n
  3438 +0000021537 00000 n
  3439 +0000021679 00000 n
  3440 +0000021823 00000 n
  3441 +0000021967 00000 n
  3442 +0000022134 00000 n
  3443 +0000023067 00000 n
  3444 +0000023089 00000 n
  3445 +0000023144 00000 n
  3446 +0000023389 00000 n
  3447 +0000023596 00000 n
  3448 +0000023738 00000 n
  3449 +0000023882 00000 n
  3450 +0000024026 00000 n
  3451 +0000024170 00000 n
  3452 +0000024246 00000 n
  3453 +0000024340 00000 n
  3454 +0000024434 00000 n
  3455 +0000024528 00000 n
  3456 +0000024622 00000 n
  3457 +0000024716 00000 n
  3458 +0000024810 00000 n
  3459 +0000024904 00000 n
  3460 +0000024998 00000 n
  3461 +0000025092 00000 n
  3462 +0000025186 00000 n
  3463 +0000025280 00000 n
  3464 +0000025374 00000 n
  3465 +0000025580 00000 n
  3466 +0000025601 00000 n
  3467 +0000025789 00000 n
  3468 +0000025810 00000 n
  3469 +0000026051 00000 n
  3470 +0000026072 00000 n
  3471 +0000026314 00000 n
  3472 +0000026335 00000 n
  3473 +0000026578 00000 n
  3474 +0000026599 00000 n
  3475 +0000026805 00000 n
  3476 +0000026826 00000 n
  3477 +0000027014 00000 n
  3478 +0000027035 00000 n
  3479 +0000027276 00000 n
  3480 +0000027297 00000 n
  3481 +0000027539 00000 n
  3482 +0000027560 00000 n
  3483 +0000027803 00000 n
  3484 +0000027824 00000 n
  3485 +0000028030 00000 n
  3486 +0000028051 00000 n
  3487 +0000028185 00000 n
  3488 +0000028375 00000 n
  3489 +0000028396 00000 n
  3490 +0000028639 00000 n
  3491 +0000028660 00000 n
  3492 +0000028904 00000 n
  3493 +0000028925 00000 n
  3494 +0000029170 00000 n
  3495 +0000029191 00000 n
  3496 +0000029397 00000 n
  3497 +0000029418 00000 n
  3498 +0000029608 00000 n
  3499 +0000029629 00000 n
  3500 +0000029872 00000 n
  3501 +0000029893 00000 n
  3502 +0000030137 00000 n
  3503 +0000030158 00000 n
  3504 +0000030403 00000 n
  3505 +0000030424 00000 n
  3506 +0000030463 00000 n
  3507 +0000030545 00000 n
  3508 +0000030755 00000 n
  3509 +0000030776 00000 n
  3510 +0000030833 00000 n
  3511 +0000030890 00000 n
  3512 +0000030947 00000 n
  3513 +0000031004 00000 n
  3514 +0000031061 00000 n
  3515 +0000031118 00000 n
  3516 +0000031175 00000 n
3517 3517 trailer <<
3518 3518 /Root 1 0 R
3519 3519 /Size 202
3520 3520 /ID [<a2f146daeb6d814a742556489dab9882><31415926535897932384626433832795>]
3521 3521 >>
3522 3522 startxref
3523   -31244
  3523 +31232
3524 3524 %%EOF
... ...