Commit ab9d557cb051b3568add22790cc58143c823e8df
1 parent
d8fdf632
Use fluent replaceKey
Showing
13 changed files
with
73 additions
and
82 deletions
examples/pdf-attach-file.cc
| ... | ... | @@ -106,10 +106,10 @@ process( |
| 106 | 106 | // apdict.replaceKey("/Type", QPDFObjectHandle::newName("/XObject")); |
| 107 | 107 | // apdict.replaceKey("/Subtype", QPDFObjectHandle::newName("/Form")); |
| 108 | 108 | // apdict.replaceKey("/BBox", QPDFObjectHandle::parse("[ 0 0 20 20 ]")); |
| 109 | - apdict.replaceKey("/Resources", "<< >>"_qpdf); | |
| 110 | - apdict.replaceKey("/Type", "/XObject"_qpdf); | |
| 111 | - apdict.replaceKey("/Subtype", "/Form"_qpdf); | |
| 112 | - apdict.replaceKey("/BBox", "[ 0 0 20 20 ]"_qpdf); | |
| 109 | + apdict.replaceKey("/Resources", "<< >>"_qpdf) | |
| 110 | + .replaceKey("/Type", "/XObject"_qpdf) | |
| 111 | + .replaceKey("/Subtype", "/Form"_qpdf) | |
| 112 | + .replaceKey("/BBox", "[ 0 0 20 20 ]"_qpdf); | |
| 113 | 113 | auto annot = q.makeIndirectObject(QPDFObjectHandle::parse( |
| 114 | 114 | &q, |
| 115 | 115 | ("<<" | ... | ... |
examples/pdf-create.cc
| ... | ... | @@ -183,9 +183,9 @@ add_page( |
| 183 | 183 | " /Subtype /Image" |
| 184 | 184 | " /BitsPerComponent 8" |
| 185 | 185 | ">>"_qpdf; |
| 186 | - image_dict.replaceKey("/ColorSpace", newName(color_space)); | |
| 187 | - image_dict.replaceKey("/Width", newInteger(width)); | |
| 188 | - image_dict.replaceKey("/Height", newInteger(height)); | |
| 186 | + image_dict.replaceKey("/ColorSpace", newName(color_space)) | |
| 187 | + .replaceKey("/Width", newInteger(width)) | |
| 188 | + .replaceKey("/Height", newInteger(height)); | |
| 189 | 189 | image.replaceDict(image_dict); |
| 190 | 190 | |
| 191 | 191 | // Provide the stream data. |
| ... | ... | @@ -202,9 +202,9 @@ add_page( |
| 202 | 202 | xobject.replaceKey("/Im1", image); |
| 203 | 203 | |
| 204 | 204 | QPDFObjectHandle resources = QPDFObjectHandle::newDictionary(); |
| 205 | - resources.replaceKey("/ProcSet", procset); | |
| 206 | - resources.replaceKey("/Font", rfont); | |
| 207 | - resources.replaceKey("/XObject", xobject); | |
| 205 | + resources.replaceKey("/ProcSet", procset) | |
| 206 | + .replaceKey("/Font", rfont) | |
| 207 | + .replaceKey("/XObject", xobject); | |
| 208 | 208 | |
| 209 | 209 | // Create the page content stream |
| 210 | 210 | QPDFObjectHandle contents = |
| ... | ... | @@ -215,8 +215,7 @@ add_page( |
| 215 | 215 | " /Type /Page" |
| 216 | 216 | " /MediaBox [0 0 612 392]" |
| 217 | 217 | ">>"_qpdf); |
| 218 | - page.replaceKey("/Contents", contents); | |
| 219 | - page.replaceKey("/Resources", resources); | |
| 218 | + page.replaceKey("/Contents", contents).replaceKey("/Resources", resources); | |
| 220 | 219 | |
| 221 | 220 | // Add the page to the PDF file |
| 222 | 221 | dh.addPage(page, false); | ... | ... |
libqpdf/NNTree.cc
| ... | ... | @@ -341,9 +341,10 @@ NNTreeIterator::split( |
| 341 | 341 | first_node.replaceKey(key, first_half); |
| 342 | 342 | QPDFObjectHandle new_kids = QPDFObjectHandle::newArray(); |
| 343 | 343 | new_kids.appendItem(first_node); |
| 344 | - to_split.removeKey("/Limits"); // already shouldn't be there for root | |
| 345 | - to_split.removeKey(impl.details.itemsKey()); | |
| 346 | - to_split.replaceKey("/Kids", new_kids); | |
| 344 | + to_split | |
| 345 | + .removeKey("/Limits") // already shouldn't be there for root | |
| 346 | + .removeKey(impl.details.itemsKey()) | |
| 347 | + .replaceKey("/Kids", new_kids); | |
| 347 | 348 | if (is_leaf) { |
| 348 | 349 | QTC::TC("qpdf", "NNTree split root + leaf"); |
| 349 | 350 | this->node = first_node; |
| ... | ... | @@ -884,9 +885,8 @@ NNTreeImpl::repair() |
| 884 | 885 | for (auto const& i : *this) { |
| 885 | 886 | repl.insert(i.first, i.second); |
| 886 | 887 | } |
| 887 | - this->oh.replaceKey("/Kids", new_node.getKey("/Kids")); | |
| 888 | - this->oh.replaceKey( | |
| 889 | - details.itemsKey(), new_node.getKey(details.itemsKey())); | |
| 888 | + this->oh.replaceKey("/Kids", new_node.getKey("/Kids")) | |
| 889 | + .replaceKey(details.itemsKey(), new_node.getKey(details.itemsKey())); | |
| 890 | 890 | } |
| 891 | 891 | |
| 892 | 892 | NNTreeImpl::iterator | ... | ... |
libqpdf/QPDF.cc
| ... | ... | @@ -2436,13 +2436,11 @@ QPDF::replaceForeignIndirectObjects( |
| 2436 | 2436 | QTC::TC("qpdf", "QPDF replace dictionary"); |
| 2437 | 2437 | result = QPDFObjectHandle::newDictionary(); |
| 2438 | 2438 | std::set<std::string> keys = foreign.getKeys(); |
| 2439 | - for (std::set<std::string>::iterator iter = keys.begin(); | |
| 2440 | - iter != keys.end(); | |
| 2441 | - ++iter) { | |
| 2439 | + for (auto const& iter : keys) { | |
| 2442 | 2440 | result.replaceKey( |
| 2443 | - *iter, | |
| 2441 | + iter, | |
| 2444 | 2442 | replaceForeignIndirectObjects( |
| 2445 | - foreign.getKey(*iter), obj_copier, false)); | |
| 2443 | + foreign.getKey(iter), obj_copier, false)); | |
| 2446 | 2444 | } |
| 2447 | 2445 | } else if (foreign.isStream()) { |
| 2448 | 2446 | QTC::TC("qpdf", "QPDF replace stream"); |
| ... | ... | @@ -2452,13 +2450,11 @@ QPDF::replaceForeignIndirectObjects( |
| 2452 | 2450 | QPDFObjectHandle dict = result.getDict(); |
| 2453 | 2451 | QPDFObjectHandle old_dict = foreign.getDict(); |
| 2454 | 2452 | std::set<std::string> keys = old_dict.getKeys(); |
| 2455 | - for (std::set<std::string>::iterator iter = keys.begin(); | |
| 2456 | - iter != keys.end(); | |
| 2457 | - ++iter) { | |
| 2453 | + for (auto const& iter : keys) { | |
| 2458 | 2454 | dict.replaceKey( |
| 2459 | - *iter, | |
| 2455 | + iter, | |
| 2460 | 2456 | replaceForeignIndirectObjects( |
| 2461 | - old_dict.getKey(*iter), obj_copier, false)); | |
| 2457 | + old_dict.getKey(iter), obj_copier, false)); | |
| 2462 | 2458 | } |
| 2463 | 2459 | copyStreamData(result, foreign); |
| 2464 | 2460 | } else { | ... | ... |
libqpdf/QPDFAcroFormDocumentHelper.cc
| ... | ... | @@ -748,8 +748,7 @@ QPDFAcroFormDocumentHelper::adjustAppearanceStream( |
| 748 | 748 | auto existing_old = subdict.getKey(old_key); |
| 749 | 749 | if (!existing_old.isNull()) { |
| 750 | 750 | QTC::TC("qpdf", "QPDFAcroFormDocumentHelper ap rename"); |
| 751 | - subdict.replaceKey(new_key, existing_old); | |
| 752 | - subdict.removeKey(old_key); | |
| 751 | + subdict.replaceKey(new_key, existing_old).removeKey(old_key); | |
| 753 | 752 | } |
| 754 | 753 | } |
| 755 | 754 | } | ... | ... |
libqpdf/QPDFFileSpecObjectHelper.cc
| ... | ... | @@ -103,8 +103,8 @@ QPDFFileSpecObjectHelper::createFileSpec( |
| 103 | 103 | QPDFFileSpecObjectHelper result(oh); |
| 104 | 104 | result.setFilename(filename); |
| 105 | 105 | auto ef = QPDFObjectHandle::newDictionary(); |
| 106 | - ef.replaceKey("/F", efsoh.getObjectHandle()); | |
| 107 | - ef.replaceKey("/UF", efsoh.getObjectHandle()); | |
| 106 | + ef.replaceKey("/F", efsoh.getObjectHandle()) | |
| 107 | + .replaceKey("/UF", efsoh.getObjectHandle()); | |
| 108 | 108 | oh.replaceKey("/EF", ef); |
| 109 | 109 | return result; |
| 110 | 110 | } | ... | ... |
libqpdf/QPDFPageLabelDocumentHelper.cc
| ... | ... | @@ -44,9 +44,8 @@ QPDFPageLabelDocumentHelper::getLabelForPage(long long page_idx) |
| 44 | 44 | QIntC::range_check(start, offset); |
| 45 | 45 | start += offset; |
| 46 | 46 | result = QPDFObjectHandle::newDictionary(); |
| 47 | - result.replaceKey("/S", S); | |
| 48 | - result.replaceKey("/P", P); | |
| 49 | - result.replaceKey("/St", QPDFObjectHandle::newInteger(start)); | |
| 47 | + result.replaceKey("/S", S).replaceKey("/P", P).replaceKey( | |
| 48 | + "/St", QPDFObjectHandle::newInteger(start)); | |
| 50 | 49 | return result; |
| 51 | 50 | } |
| 52 | 51 | ... | ... |
libqpdf/QPDFPageObjectHelper.cc
| ... | ... | @@ -78,8 +78,8 @@ QPDFObjectHandle |
| 78 | 78 | InlineImageTracker::convertIIDict(QPDFObjectHandle odict) |
| 79 | 79 | { |
| 80 | 80 | QPDFObjectHandle dict = QPDFObjectHandle::newDictionary(); |
| 81 | - dict.replaceKey("/Type", QPDFObjectHandle::newName("/XObject")); | |
| 82 | - dict.replaceKey("/Subtype", QPDFObjectHandle::newName("/Image")); | |
| 81 | + dict.replaceKey("/Type", QPDFObjectHandle::newName("/XObject")) | |
| 82 | + .replaceKey("/Subtype", QPDFObjectHandle::newName("/Image")); | |
| 83 | 83 | std::set<std::string> keys = odict.getKeys(); |
| 84 | 84 | for (auto key : keys) { |
| 85 | 85 | QPDFObjectHandle value = odict.getKey(key); |
| ... | ... | @@ -752,11 +752,11 @@ QPDFPageObjectHelper::getFormXObjectForPage(bool handle_transformations) |
| 752 | 752 | } |
| 753 | 753 | QPDFObjectHandle result = QPDFObjectHandle::newStream(qpdf); |
| 754 | 754 | QPDFObjectHandle newdict = result.getDict(); |
| 755 | - newdict.replaceKey("/Type", QPDFObjectHandle::newName("/XObject")); | |
| 756 | - newdict.replaceKey("/Subtype", QPDFObjectHandle::newName("/Form")); | |
| 757 | - newdict.replaceKey( | |
| 758 | - "/Resources", getAttribute("/Resources", false).shallowCopy()); | |
| 759 | - newdict.replaceKey("/Group", getAttribute("/Group", false).shallowCopy()); | |
| 755 | + newdict.replaceKey("/Type", QPDFObjectHandle::newName("/XObject")) | |
| 756 | + .replaceKey("/Subtype", QPDFObjectHandle::newName("/Form")) | |
| 757 | + .replaceKey( | |
| 758 | + "/Resources", getAttribute("/Resources", false).shallowCopy()) | |
| 759 | + .replaceKey("/Group", getAttribute("/Group", false).shallowCopy()); | |
| 760 | 760 | QPDFObjectHandle bbox = getTrimBox(false).shallowCopy(); |
| 761 | 761 | if (!bbox.isRectangle()) { |
| 762 | 762 | this->oh.warnIfPossible("bounding box is invalid; form" | ... | ... |
libqpdf/QPDF_Stream.cc
| ... | ... | @@ -604,8 +604,8 @@ QPDF_Stream::replaceFilterData( |
| 604 | 604 | QPDFObjectHandle const& decode_parms, |
| 605 | 605 | size_t length) |
| 606 | 606 | { |
| 607 | - this->stream_dict.replaceKey("/Filter", filter); | |
| 608 | - this->stream_dict.replaceKey("/DecodeParms", decode_parms); | |
| 607 | + this->stream_dict.replaceKey("/Filter", filter) | |
| 608 | + .replaceKey("/DecodeParms", decode_parms); | |
| 609 | 609 | if (length == 0) { |
| 610 | 610 | QTC::TC("qpdf", "QPDF_Stream unknown stream length"); |
| 611 | 611 | this->stream_dict.removeKey("/Length"); | ... | ... |
libtests/nntree.cc
| ... | ... | @@ -70,8 +70,7 @@ test_bsearch() |
| 70 | 70 | limits.appendItem(QPDFObjectHandle::newInteger(v.at(0))); |
| 71 | 71 | limits.appendItem(QPDFObjectHandle::newInteger(v.at(v.size() - 1))); |
| 72 | 72 | auto node = q.makeIndirectObject(QPDFObjectHandle::newDictionary()); |
| 73 | - node.replaceKey("/Nums", nums); | |
| 74 | - node.replaceKey("/Limits", limits); | |
| 73 | + node.replaceKey("/Nums", nums).replaceKey("/Limits", limits); | |
| 75 | 74 | return node; |
| 76 | 75 | }; |
| 77 | 76 | ... | ... |
qpdf/pdf_from_scratch.cc
| ... | ... | @@ -60,15 +60,14 @@ runtest(int n) |
| 60 | 60 | rfont.replaceKey("/F1", font); |
| 61 | 61 | |
| 62 | 62 | QPDFObjectHandle resources = QPDFObjectHandle::newDictionary(); |
| 63 | - resources.replaceKey("/ProcSet", procset); | |
| 64 | - resources.replaceKey("/Font", rfont); | |
| 63 | + resources.replaceKey("/ProcSet", procset).replaceKey("/Font", rfont); | |
| 65 | 64 | |
| 66 | 65 | QPDFObjectHandle page = |
| 67 | 66 | pdf.makeIndirectObject(QPDFObjectHandle::newDictionary()); |
| 68 | - page.replaceKey("/Type", newName("/Page")); | |
| 69 | - page.replaceKey("/MediaBox", mediabox); | |
| 70 | - page.replaceKey("/Contents", contents); | |
| 71 | - page.replaceKey("/Resources", resources); | |
| 67 | + page.replaceKey("/Type", newName("/Page")) | |
| 68 | + .replaceKey("/MediaBox", mediabox) | |
| 69 | + .replaceKey("/Contents", contents) | |
| 70 | + .replaceKey("/Resources", resources); | |
| 72 | 71 | |
| 73 | 72 | QPDFPageDocumentHelper(pdf).addPage(page, true); |
| 74 | 73 | ... | ... |
qpdf/test_driver.cc
| ... | ... | @@ -538,8 +538,7 @@ test_9(QPDF& pdf, char const* arg2) |
| 538 | 538 | "data for other stream\n", |
| 539 | 539 | QPDFObjectHandle::newNull(), |
| 540 | 540 | QPDFObjectHandle::newNull()); |
| 541 | - root.replaceKey("/QStream", qstream); | |
| 542 | - root.replaceKey("/RStream", rstream); | |
| 541 | + root.replaceKey("/QStream", qstream).replaceKey("/RStream", rstream); | |
| 543 | 542 | QPDFWriter w(pdf, "a.pdf"); |
| 544 | 543 | w.setStaticID(true); |
| 545 | 544 | w.setStreamDataMode(qpdf_s_preserve); |
| ... | ... | @@ -909,8 +908,7 @@ test_24(QPDF& pdf, char const* arg2) |
| 909 | 908 | QPDFObjectHandle res1 = QPDFObjectHandle::newReserved(&pdf); |
| 910 | 909 | QPDFObjectHandle res2 = QPDFObjectHandle::newReserved(&pdf); |
| 911 | 910 | QPDFObjectHandle trailer = pdf.getTrailer(); |
| 912 | - trailer.replaceKey("Array1", res1); | |
| 913 | - trailer.replaceKey("Array2", res2); | |
| 911 | + trailer.replaceKey("Array1", res1).replaceKey("Array2", res2); | |
| 914 | 912 | |
| 915 | 913 | QPDFObjectHandle array1 = QPDFObjectHandle::newArray(); |
| 916 | 914 | QPDFObjectHandle array2 = QPDFObjectHandle::newArray(); |
| ... | ... | @@ -1086,8 +1084,9 @@ test_27(QPDF& pdf, char const* arg2) |
| 1086 | 1084 | dh.addPage(O3.getKey("/OtherPage"), false); |
| 1087 | 1085 | dh.addPage(O3, false); |
| 1088 | 1086 | QPDFObjectHandle s2 = QPDFObjectHandle::newStream(&oldpdf, "potato\n"); |
| 1089 | - pdf.getTrailer().replaceKey("/QTest", pdf.copyForeignObject(qtest)); | |
| 1090 | - pdf.getTrailer().replaceKey("/QTest2", QPDFObjectHandle::newArray()); | |
| 1087 | + pdf.getTrailer() | |
| 1088 | + .replaceKey("/QTest", pdf.copyForeignObject(qtest)) | |
| 1089 | + .replaceKey("/QTest2", QPDFObjectHandle::newArray()); | |
| 1091 | 1090 | pdf.getTrailer().getKey("/QTest2").appendItem( |
| 1092 | 1091 | pdf.copyForeignObject(s1)); |
| 1093 | 1092 | pdf.getTrailer().getKey("/QTest2").appendItem( |
| ... | ... | @@ -2259,9 +2258,10 @@ test_60(QPDF& pdf, char const* arg2) |
| 2259 | 2258 | |
| 2260 | 2259 | // The only differences between /QTest and /QTest3 should be |
| 2261 | 2260 | // the direct objects merged from r2. |
| 2262 | - pdf.getTrailer().replaceKey("/QTest1", r1); | |
| 2263 | - pdf.getTrailer().replaceKey("/QTest2", r2); | |
| 2264 | - pdf.getTrailer().replaceKey("/QTest3", r3); | |
| 2261 | + pdf.getTrailer() | |
| 2262 | + .replaceKey("/QTest1", r1) | |
| 2263 | + .replaceKey("/QTest2", r2) | |
| 2264 | + .replaceKey("/QTest3", r3); | |
| 2265 | 2265 | QPDFWriter w(pdf, "a.pdf"); |
| 2266 | 2266 | w.setQDFMode(true); |
| 2267 | 2267 | w.setStaticID(true); |
| ... | ... | @@ -2321,9 +2321,9 @@ test_62(QPDF& pdf, char const* arg2) |
| 2321 | 2321 | long long q2 = QIntC::to_longlong(q2_l); |
| 2322 | 2322 | unsigned int q3_i = UINT_MAX; |
| 2323 | 2323 | long long q3 = QIntC::to_longlong(q3_i); |
| 2324 | - t.replaceKey("/Q1", QPDFObjectHandle::newInteger(q1)); | |
| 2325 | - t.replaceKey("/Q2", QPDFObjectHandle::newInteger(q2)); | |
| 2326 | - t.replaceKey("/Q3", QPDFObjectHandle::newInteger(q3)); | |
| 2324 | + t.replaceKey("/Q1", QPDFObjectHandle::newInteger(q1)) | |
| 2325 | + .replaceKey("/Q2", QPDFObjectHandle::newInteger(q2)) | |
| 2326 | + .replaceKey("/Q3", QPDFObjectHandle::newInteger(q3)); | |
| 2327 | 2327 | assert_compare_numbers(q1, t.getKey("/Q1").getIntValue()); |
| 2328 | 2328 | assert_compare_numbers(q1_l, t.getKey("/Q1").getUIntValue()); |
| 2329 | 2329 | assert_compare_numbers(INT_MAX, t.getKey("/Q1").getIntValueAsInt()); | ... | ... |
qpdf/test_large_file.cc
| ... | ... | @@ -191,11 +191,11 @@ create_pdf(char const* filename) |
| 191 | 191 | |
| 192 | 192 | QPDFObjectHandle font = |
| 193 | 193 | pdf.makeIndirectObject(QPDFObjectHandle::newDictionary()); |
| 194 | - font.replaceKey("/Type", newName("/Font")); | |
| 195 | - font.replaceKey("/Subtype", newName("/Type1")); | |
| 196 | - font.replaceKey("/Name", newName("/F1")); | |
| 197 | - font.replaceKey("/BaseFont", newName("/Helvetica")); | |
| 198 | - font.replaceKey("/Encoding", newName("/WinAnsiEncoding")); | |
| 194 | + font.replaceKey("/Type", newName("/Font")) | |
| 195 | + .replaceKey("/Subtype", newName("/Type1")) | |
| 196 | + .replaceKey("/Name", newName("/F1")) | |
| 197 | + .replaceKey("/BaseFont", newName("/Helvetica")) | |
| 198 | + .replaceKey("/Encoding", newName("/WinAnsiEncoding")); | |
| 199 | 199 | |
| 200 | 200 | QPDFObjectHandle procset = |
| 201 | 201 | pdf.makeIndirectObject(QPDFObjectHandle::newArray()); |
| ... | ... | @@ -216,12 +216,12 @@ create_pdf(char const* filename) |
| 216 | 216 | for (size_t pageno = 1; pageno <= npages; ++pageno) { |
| 217 | 217 | QPDFObjectHandle image = QPDFObjectHandle::newStream(&pdf); |
| 218 | 218 | QPDFObjectHandle image_dict = image.getDict(); |
| 219 | - image_dict.replaceKey("/Type", newName("/XObject")); | |
| 220 | - image_dict.replaceKey("/Subtype", newName("/Image")); | |
| 221 | - image_dict.replaceKey("/ColorSpace", newName("/DeviceGray")); | |
| 222 | - image_dict.replaceKey("/BitsPerComponent", newInteger(8)); | |
| 223 | - image_dict.replaceKey("/Width", newInteger(width)); | |
| 224 | - image_dict.replaceKey("/Height", newInteger(height)); | |
| 219 | + image_dict.replaceKey("/Type", newName("/XObject")) | |
| 220 | + .replaceKey("/Subtype", newName("/Image")) | |
| 221 | + .replaceKey("/ColorSpace", newName("/DeviceGray")) | |
| 222 | + .replaceKey("/BitsPerComponent", newInteger(8)) | |
| 223 | + .replaceKey("/Width", newInteger(width)) | |
| 224 | + .replaceKey("/Height", newInteger(height)); | |
| 225 | 225 | ImageProvider* p = new ImageProvider(pageno); |
| 226 | 226 | std::shared_ptr<QPDFObjectHandle::StreamDataProvider> provider(p); |
| 227 | 227 | image.replaceStreamData( |
| ... | ... | @@ -231,18 +231,18 @@ create_pdf(char const* filename) |
| 231 | 231 | xobject.replaceKey("/Im1", image); |
| 232 | 232 | |
| 233 | 233 | QPDFObjectHandle resources = QPDFObjectHandle::newDictionary(); |
| 234 | - resources.replaceKey("/ProcSet", procset); | |
| 235 | - resources.replaceKey("/Font", rfont); | |
| 236 | - resources.replaceKey("/XObject", xobject); | |
| 234 | + resources.replaceKey("/ProcSet", procset) | |
| 235 | + .replaceKey("/Font", rfont) | |
| 236 | + .replaceKey("/XObject", xobject); | |
| 237 | 237 | |
| 238 | 238 | QPDFObjectHandle contents = create_page_contents(pdf, pageno); |
| 239 | 239 | |
| 240 | 240 | QPDFObjectHandle page = |
| 241 | 241 | pdf.makeIndirectObject(QPDFObjectHandle::newDictionary()); |
| 242 | - page.replaceKey("/Type", newName("/Page")); | |
| 243 | - page.replaceKey("/MediaBox", mediabox); | |
| 244 | - page.replaceKey("/Contents", contents); | |
| 245 | - page.replaceKey("/Resources", resources); | |
| 242 | + page.replaceKey("/Type", newName("/Page")) | |
| 243 | + .replaceKey("/MediaBox", mediabox) | |
| 244 | + .replaceKey("/Contents", contents) | |
| 245 | + .replaceKey("/Resources", resources); | |
| 246 | 246 | |
| 247 | 247 | dh.addPage(page, false); |
| 248 | 248 | } | ... | ... |