mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 10:58:58 +00:00
Allow adding the same page more than once in --pages (fixes #272)
This commit is contained in:
parent
53d8e916b7
commit
654c0e8caf
16
ChangeLog
16
ChangeLog
@ -1,5 +1,21 @@
|
|||||||
2019-01-12 Jay Berkenbilt <ejb@ql.org>
|
2019-01-12 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
|
* In the --pages option, allow the same page to be specified more
|
||||||
|
than once. You can now do "--pages A.pdf 1,1 --" or
|
||||||
|
"--pages A.pdf 1 A.pdf 1" instead of having to use two different
|
||||||
|
paths to specify A.pdf. Fixes #272.
|
||||||
|
|
||||||
|
* Add QPDFPageObjectHelper::shallowCopyPage(). This method creates
|
||||||
|
a new page object that is a "shallow copy" of the given page as
|
||||||
|
described in the comments in QPDFPageObjectHelper. The resulting
|
||||||
|
object has not been added anywhere but is ready to be passed to
|
||||||
|
QPDFPageDocumentHelper::addPage of its own QPDF or another QPDF
|
||||||
|
object.
|
||||||
|
|
||||||
|
* Add QPDF::getUniqueId() method to return an identifier that is
|
||||||
|
intended to be unique within the scope of all QPDF objects created
|
||||||
|
by the calling application in a single run.
|
||||||
|
|
||||||
* In --pages, allow "." as a replacement for the current input
|
* In --pages, allow "." as a replacement for the current input
|
||||||
file, making it possible to say "qpdf A.pdf --pages . 1-3 --"
|
file, making it possible to say "qpdf A.pdf --pages . 1-3 --"
|
||||||
instead of having to repeat the input filename.
|
instead of having to repeat the input filename.
|
||||||
|
@ -203,6 +203,16 @@ class QPDF
|
|||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
std::vector<QPDFExc> getWarnings();
|
std::vector<QPDFExc> getWarnings();
|
||||||
|
|
||||||
|
// Return an application-scoped unique ID for this QPDF object.
|
||||||
|
// This is not a globally unique ID. It is constructing using a
|
||||||
|
// timestamp and a random number and is intended to be unique
|
||||||
|
// among QPDF objects that are created by a single run of an
|
||||||
|
// application. While it's very likely that these are actually
|
||||||
|
// globally unique, it is not recommended to use them for
|
||||||
|
// long-term purposes.
|
||||||
|
QPDF_DLL
|
||||||
|
unsigned long long getUniqueId() const;
|
||||||
|
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
std::string getFilename() const;
|
std::string getFilename() const;
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
|
@ -140,6 +140,19 @@ class QPDFPageObjectHelper: public QPDFObjectHelper
|
|||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
void removeUnreferencedResources();
|
void removeUnreferencedResources();
|
||||||
|
|
||||||
|
// Return a new QPDFPageDocumentHelper that is a duplicate of the
|
||||||
|
// page. The returned object is an indirect object that is ready
|
||||||
|
// to be inserted into the same or a different QPDF object using
|
||||||
|
// any of the addPage methods in QPDFPageDocumentHelper or QPDF.
|
||||||
|
// Without calling one of those methods, the page will not be
|
||||||
|
// added anywhere. Thew new page object shares all content streams
|
||||||
|
// and indirect objet resources with the original page, so if you
|
||||||
|
// are going to modify the contents or other aspects of the page,
|
||||||
|
// you will need to handling copying of the component parts
|
||||||
|
// separately.
|
||||||
|
QPDF_DLL
|
||||||
|
QPDFPageObjectHelper shallowCopyPage();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class Members
|
class Members
|
||||||
{
|
{
|
||||||
|
@ -2470,6 +2470,12 @@ QPDF::swapObjects(int objid1, int generation1, int objid2, int generation2)
|
|||||||
this->m->obj_cache[og2] = t;
|
this->m->obj_cache[og2] = t;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned long long
|
||||||
|
QPDF::getUniqueId() const
|
||||||
|
{
|
||||||
|
return this->m->unique_id;
|
||||||
|
}
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
QPDF::getFilename() const
|
QPDF::getFilename() const
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include <qpdf/QPDFPageObjectHelper.hh>
|
#include <qpdf/QPDFPageObjectHelper.hh>
|
||||||
#include <qpdf/QTC.hh>
|
#include <qpdf/QTC.hh>
|
||||||
|
#include <qpdf/QPDF.hh>
|
||||||
|
|
||||||
QPDFPageObjectHelper::Members::~Members()
|
QPDFPageObjectHelper::Members::~Members()
|
||||||
{
|
{
|
||||||
@ -167,3 +168,17 @@ QPDFPageObjectHelper::removeUnreferencedResources()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QPDFPageObjectHelper
|
||||||
|
QPDFPageObjectHelper::shallowCopyPage()
|
||||||
|
{
|
||||||
|
QPDF* qpdf = this->oh.getOwningQPDF();
|
||||||
|
if (! qpdf)
|
||||||
|
{
|
||||||
|
throw std::runtime_error(
|
||||||
|
"QPDFPageObjectHelper::shallowCopyPage"
|
||||||
|
" called with a direct objet");
|
||||||
|
}
|
||||||
|
QPDFObjectHandle new_page = this->oh.shallowCopy();
|
||||||
|
return QPDFPageObjectHelper(qpdf->makeIndirectObject(new_page));
|
||||||
|
}
|
||||||
|
@ -982,15 +982,6 @@ make
|
|||||||
easily combine all pages in a set of files with a command like
|
easily combine all pages in a set of files with a command like
|
||||||
<command>qpdf --empty out.pdf --pages *.pdf --</command>.
|
<command>qpdf --empty out.pdf --pages *.pdf --</command>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
It is not presently possible to specify the same page from the
|
|
||||||
same file directly more than once, but you can make this work by
|
|
||||||
specifying two different paths to the same file (such as by
|
|
||||||
putting <filename>./</filename> somewhere in the path). This can
|
|
||||||
also be used if you want to repeat a page from one of the input
|
|
||||||
files in the output file. This may be made more convenient in a
|
|
||||||
future version of qpdf if there is enough demand for this feature.
|
|
||||||
</para>
|
|
||||||
<para>
|
<para>
|
||||||
The page range is a set of numbers separated by commas, ranges of
|
The page range is a set of numbers separated by commas, ranges of
|
||||||
numbers separated dashes, or combinations of those. The character
|
numbers separated dashes, or combinations of those. The character
|
||||||
@ -1112,6 +1103,12 @@ outfile.pdf</option>
|
|||||||
are all corner cases that most users should hopefully never have
|
are all corner cases that most users should hopefully never have
|
||||||
to be bothered with.
|
to be bothered with.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
Prior to version 8.4, it was not possible to specify the same page
|
||||||
|
from the same file directly more than once, and the workaround of
|
||||||
|
specifying the same file in more than one way was required.
|
||||||
|
Version 8.4 removes this limitation.
|
||||||
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="ref.advanced-parsing">
|
<sect1 id="ref.advanced-parsing">
|
||||||
<title>Advanced Parsing Options</title>
|
<title>Advanced Parsing Options</title>
|
||||||
|
16
qpdf/qpdf.cc
16
qpdf/qpdf.cc
@ -3731,6 +3731,7 @@ static void handle_page_specs(QPDF& pdf, Options& o)
|
|||||||
std::map<std::string, ClosedFileInputSource*> page_spec_cfis;
|
std::map<std::string, ClosedFileInputSource*> page_spec_cfis;
|
||||||
page_spec_qpdfs[o.infilename] = &pdf;
|
page_spec_qpdfs[o.infilename] = &pdf;
|
||||||
std::vector<QPDFPageData> parsed_specs;
|
std::vector<QPDFPageData> parsed_specs;
|
||||||
|
std::map<unsigned long long, std::set<QPDFObjGen> > copied_pages;
|
||||||
for (std::vector<PageSpec>::iterator iter = o.page_specs.begin();
|
for (std::vector<PageSpec>::iterator iter = o.page_specs.begin();
|
||||||
iter != o.page_specs.end(); ++iter)
|
iter != o.page_specs.end(); ++iter)
|
||||||
{
|
{
|
||||||
@ -3905,7 +3906,20 @@ static void handle_page_specs(QPDF& pdf, Options& o)
|
|||||||
int pageno = *pageno_iter - 1;
|
int pageno = *pageno_iter - 1;
|
||||||
pldh.getLabelsForPageRange(pageno, pageno, out_pageno,
|
pldh.getLabelsForPageRange(pageno, pageno, out_pageno,
|
||||||
new_labels);
|
new_labels);
|
||||||
dh.addPage(page_data.orig_pages.at(pageno), false);
|
QPDFPageObjectHelper to_copy = page_data.orig_pages.at(pageno);
|
||||||
|
QPDFObjGen to_copy_og = to_copy.getObjectHandle().getObjGen();
|
||||||
|
unsigned long long from_uuid = page_data.qpdf->getUniqueId();
|
||||||
|
if (copied_pages[from_uuid].count(to_copy_og))
|
||||||
|
{
|
||||||
|
QTC::TC("qpdf", "qpdf copy same page more than once",
|
||||||
|
(page_data.qpdf == &pdf) ? 0 : 1);
|
||||||
|
to_copy = to_copy.shallowCopyPage();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
copied_pages[from_uuid].insert(to_copy_og);
|
||||||
|
}
|
||||||
|
dh.addPage(to_copy, false);
|
||||||
if (page_data.qpdf == &pdf)
|
if (page_data.qpdf == &pdf)
|
||||||
{
|
{
|
||||||
// This is a page from the original file. Keep track
|
// This is a page from the original file. Keep track
|
||||||
|
@ -411,3 +411,4 @@ QPDF pipe foreign encrypted stream 0
|
|||||||
QPDF copy foreign stream with provider 0
|
QPDF copy foreign stream with provider 0
|
||||||
QPDF copy foreign stream with buffer 0
|
QPDF copy foreign stream with buffer 0
|
||||||
QPDF immediate copy stream data 0
|
QPDF immediate copy stream data 0
|
||||||
|
qpdf copy same page more than once 1
|
||||||
|
@ -1624,7 +1624,7 @@ foreach my $f (qw(screen print))
|
|||||||
show_ntests();
|
show_ntests();
|
||||||
# ----------
|
# ----------
|
||||||
$td->notify("--- Merging and Splitting ---");
|
$td->notify("--- Merging and Splitting ---");
|
||||||
$n_tests += 18;
|
$n_tests += 22;
|
||||||
|
|
||||||
# Select pages from the same file multiple times including selecting
|
# Select pages from the same file multiple times including selecting
|
||||||
# twice from an encrypted file and specifying the password only the
|
# twice from an encrypted file and specifying the password only the
|
||||||
@ -1692,7 +1692,7 @@ $td->runtest("check output",
|
|||||||
{$td->FILE => "a.pdf"},
|
{$td->FILE => "a.pdf"},
|
||||||
{$td->FILE => "merge-multiple-labels.pdf"});
|
{$td->FILE => "merge-multiple-labels.pdf"});
|
||||||
|
|
||||||
$td->runtest("split with shared resources", # QXXXQ
|
$td->runtest("split with shared resources",
|
||||||
{$td->COMMAND =>
|
{$td->COMMAND =>
|
||||||
"qpdf --qdf --static-id" .
|
"qpdf --qdf --static-id" .
|
||||||
" shared-images.pdf --pages . 1,3" .
|
" shared-images.pdf --pages . 1,3" .
|
||||||
@ -1702,6 +1702,16 @@ $td->runtest("check output",
|
|||||||
{$td->FILE => "a.pdf"},
|
{$td->FILE => "a.pdf"},
|
||||||
{$td->FILE => "shared-images-pages-out.pdf"});
|
{$td->FILE => "shared-images-pages-out.pdf"});
|
||||||
|
|
||||||
|
$td->runtest("split with really shared resources",
|
||||||
|
{$td->COMMAND =>
|
||||||
|
"qpdf --qdf --static-id" .
|
||||||
|
" shared-images.pdf --pages . 1,3" .
|
||||||
|
" . 1,2 -- a.pdf"},
|
||||||
|
{$td->STRING => "", $td->EXIT_STATUS => 0});
|
||||||
|
$td->runtest("check output",
|
||||||
|
{$td->FILE => "a.pdf"},
|
||||||
|
{$td->FILE => "really-shared-images-pages-out.pdf"});
|
||||||
|
|
||||||
$td->runtest("shared resources relevant errors",
|
$td->runtest("shared resources relevant errors",
|
||||||
{$td->COMMAND =>
|
{$td->COMMAND =>
|
||||||
"qpdf --qdf --static-id" .
|
"qpdf --qdf --static-id" .
|
||||||
@ -1733,6 +1743,16 @@ $td->runtest("check output",
|
|||||||
{$td->FILE => "a.pdf"},
|
{$td->FILE => "a.pdf"},
|
||||||
{$td->FILE => "shared-images-errors-1-3-out.pdf"});
|
{$td->FILE => "shared-images-errors-1-3-out.pdf"});
|
||||||
|
|
||||||
|
$td->runtest("duplicate pages",
|
||||||
|
{$td->COMMAND =>
|
||||||
|
"qpdf --qdf --static-id 11-pages-with-labels.pdf" .
|
||||||
|
" --pages . 6,5,6 . 5 minimal.pdf 1,1 minimal.pdf 1 --" .
|
||||||
|
" a.pdf"},
|
||||||
|
{$td->STRING => "", $td->EXIT_STATUS => 0});
|
||||||
|
$td->runtest("check output",
|
||||||
|
{$td->FILE => "a.pdf"},
|
||||||
|
{$td->FILE => "duplicate-pages.pdf"});
|
||||||
|
|
||||||
show_ntests();
|
show_ntests();
|
||||||
# ----------
|
# ----------
|
||||||
$td->notify("--- Collating ---");
|
$td->notify("--- Collating ---");
|
||||||
|
335
qpdf/qtest/qpdf/duplicate-pages.pdf
Normal file
335
qpdf/qtest/qpdf/duplicate-pages.pdf
Normal file
@ -0,0 +1,335 @@
|
|||||||
|
%PDF-1.4
|
||||||
|
%¿÷¢þ
|
||||||
|
%QDF-1.0
|
||||||
|
|
||||||
|
%% Original object ID: 1 0
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/PageLabels <<
|
||||||
|
/Nums [
|
||||||
|
0
|
||||||
|
<<
|
||||||
|
/S /r
|
||||||
|
/St 5
|
||||||
|
>>
|
||||||
|
1
|
||||||
|
<<
|
||||||
|
/S /r
|
||||||
|
/St 4
|
||||||
|
>>
|
||||||
|
3
|
||||||
|
<<
|
||||||
|
/S /r
|
||||||
|
/St 4
|
||||||
|
>>
|
||||||
|
4
|
||||||
|
<<
|
||||||
|
/St 5
|
||||||
|
>>
|
||||||
|
]
|
||||||
|
>>
|
||||||
|
/Pages 3 0 R
|
||||||
|
/Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 2 0
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/CreationDate (D:20120721200217)
|
||||||
|
/Producer (Apex PDFWriter)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 3 0
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/Count 7
|
||||||
|
/Kids [
|
||||||
|
4 0 R
|
||||||
|
5 0 R
|
||||||
|
6 0 R
|
||||||
|
7 0 R
|
||||||
|
8 0 R
|
||||||
|
9 0 R
|
||||||
|
10 0 R
|
||||||
|
]
|
||||||
|
/Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 1
|
||||||
|
%% Original object ID: 9 0
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 11 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 3 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 13 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet [
|
||||||
|
/PDF
|
||||||
|
/Text
|
||||||
|
]
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 2
|
||||||
|
%% Original object ID: 8 0
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 14 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 3 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 13 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet [
|
||||||
|
/PDF
|
||||||
|
/Text
|
||||||
|
]
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 3
|
||||||
|
%% Original object ID: 27 0
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 11 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 3 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 13 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet [
|
||||||
|
/PDF
|
||||||
|
/Text
|
||||||
|
]
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 4
|
||||||
|
%% Original object ID: 28 0
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 14 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 3 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 13 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet [
|
||||||
|
/PDF
|
||||||
|
/Text
|
||||||
|
]
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 5
|
||||||
|
%% Original object ID: 29 0
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 16 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 3 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 18 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet 19 0 R
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 6
|
||||||
|
%% Original object ID: 33 0
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 16 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 3 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 18 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet 19 0 R
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 7
|
||||||
|
%% Original object ID: 34 0
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 16 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 3 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 18 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet 19 0 R
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Contents for page 3
|
||||||
|
%% Original object ID: 21 0
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Length 12 0 R
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
BT /F1 15 Tf 72 720 Td (Original page 6) Tj ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
12 0 obj
|
||||||
|
47
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 16 0
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Times-Roman
|
||||||
|
/Encoding /WinAnsiEncoding
|
||||||
|
/Subtype /Type1
|
||||||
|
/Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Contents for page 4
|
||||||
|
%% Original object ID: 20 0
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Length 15 0 R
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
BT /F1 15 Tf 72 720 Td (Original page 5) Tj ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
15 0 obj
|
||||||
|
47
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Contents for page 7
|
||||||
|
%% Original object ID: 30 0
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Length 17 0 R
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
17 0 obj
|
||||||
|
44
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 31 0
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica
|
||||||
|
/Encoding /WinAnsiEncoding
|
||||||
|
/Name /F1
|
||||||
|
/Subtype /Type1
|
||||||
|
/Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 32 0
|
||||||
|
19 0 obj
|
||||||
|
[
|
||||||
|
/PDF
|
||||||
|
/Text
|
||||||
|
]
|
||||||
|
endobj
|
||||||
|
|
||||||
|
xref
|
||||||
|
0 20
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000052 00000 n
|
||||||
|
0000000375 00000 n
|
||||||
|
0000000488 00000 n
|
||||||
|
0000000658 00000 n
|
||||||
|
0000000914 00000 n
|
||||||
|
0000001171 00000 n
|
||||||
|
0000001428 00000 n
|
||||||
|
0000001685 00000 n
|
||||||
|
0000001918 00000 n
|
||||||
|
0000002151 00000 n
|
||||||
|
0000002398 00000 n
|
||||||
|
0000002502 00000 n
|
||||||
|
0000002550 00000 n
|
||||||
|
0000002710 00000 n
|
||||||
|
0000002814 00000 n
|
||||||
|
0000002885 00000 n
|
||||||
|
0000002986 00000 n
|
||||||
|
0000003034 00000 n
|
||||||
|
0000003181 00000 n
|
||||||
|
trailer <<
|
||||||
|
/Info 2 0 R
|
||||||
|
/Root 1 0 R
|
||||||
|
/Size 20
|
||||||
|
/ID [<e032a88c7a987db6ca3abee555506ccc><31415926535897932384626433832795>]
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
3217
|
||||||
|
%%EOF
|
288
qpdf/qtest/qpdf/really-shared-images-pages-out.pdf
Normal file
288
qpdf/qtest/qpdf/really-shared-images-pages-out.pdf
Normal file
@ -0,0 +1,288 @@
|
|||||||
|
%PDF-1.3
|
||||||
|
%¿÷¢þ
|
||||||
|
%QDF-1.0
|
||||||
|
|
||||||
|
%% Original object ID: 1 0
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/Pages 2 0 R
|
||||||
|
/Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 2 0
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/Count 4
|
||||||
|
/Kids [
|
||||||
|
3 0 R
|
||||||
|
4 0 R
|
||||||
|
5 0 R
|
||||||
|
6 0 R
|
||||||
|
]
|
||||||
|
/Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 1
|
||||||
|
%% Original object ID: 3 0
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 7 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 2 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 9 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet 10 0 R
|
||||||
|
/XObject <<
|
||||||
|
/Im1 11 0 R
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 2
|
||||||
|
%% Original object ID: 5 0
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 13 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 2 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 9 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet 10 0 R
|
||||||
|
/XObject <<
|
||||||
|
/Im3 15 0 R
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 3
|
||||||
|
%% Original object ID: 56 0
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 7 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 2 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 9 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet 10 0 R
|
||||||
|
/XObject <<
|
||||||
|
/Im1 11 0 R
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Page 4
|
||||||
|
%% Original object ID: 4 0
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 17 0 R
|
||||||
|
/MediaBox [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
612
|
||||||
|
792
|
||||||
|
]
|
||||||
|
/Parent 2 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 9 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet 10 0 R
|
||||||
|
/XObject <<
|
||||||
|
/Im2 19 0 R
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Contents for page 3
|
||||||
|
%% Original object ID: 13 0
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Length 8 0 R
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
BT /F1 24 Tf 72 720 Td (page 1) Tj ET
|
||||||
|
q 468 0 0 468 72 72 cm /Im1 Do Q
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
8 0 obj
|
||||||
|
71
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 15 0
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica
|
||||||
|
/Encoding /WinAnsiEncoding
|
||||||
|
/Name /F1
|
||||||
|
/Subtype /Type1
|
||||||
|
/Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 16 0
|
||||||
|
10 0 obj
|
||||||
|
[
|
||||||
|
/PDF
|
||||||
|
/Text
|
||||||
|
/ImageC
|
||||||
|
]
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 17 0
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/BitsPerComponent 8
|
||||||
|
/ColorSpace /DeviceGray
|
||||||
|
/Height 50
|
||||||
|
/Subtype /Image
|
||||||
|
/Type /XObject
|
||||||
|
/Width 50
|
||||||
|
/Length 12 0 R
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%QDF: ignore_newline
|
||||||
|
12 0 obj
|
||||||
|
2500
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Contents for page 2
|
||||||
|
%% Original object ID: 23 0
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Length 14 0 R
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
BT /F1 24 Tf 72 720 Td (page 3) Tj ET
|
||||||
|
q 468 0 0 468 72 72 cm /Im3 Do Q
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
14 0 obj
|
||||||
|
71
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 25 0
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/BitsPerComponent 8
|
||||||
|
/ColorSpace /DeviceGray
|
||||||
|
/Height 50
|
||||||
|
/Subtype /Image
|
||||||
|
/Type /XObject
|
||||||
|
/Width 50
|
||||||
|
/Length 16 0 R
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%QDF: ignore_newline
|
||||||
|
16 0 obj
|
||||||
|
2500
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Contents for page 4
|
||||||
|
%% Original object ID: 19 0
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Length 18 0 R
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
BT /F1 24 Tf 72 720 Td (page 2) Tj ET
|
||||||
|
q 468 0 0 468 72 72 cm /Im2 Do Q
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
18 0 obj
|
||||||
|
71
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%% Original object ID: 21 0
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/BitsPerComponent 8
|
||||||
|
/ColorSpace /DeviceGray
|
||||||
|
/Height 50
|
||||||
|
/Subtype /Image
|
||||||
|
/Type /XObject
|
||||||
|
/Width 50
|
||||||
|
/Length 20 0 R
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
%QDF: ignore_newline
|
||||||
|
20 0 obj
|
||||||
|
2500
|
||||||
|
endobj
|
||||||
|
|
||||||
|
xref
|
||||||
|
0 21
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000052 00000 n
|
||||||
|
0000000133 00000 n
|
||||||
|
0000000272 00000 n
|
||||||
|
0000000543 00000 n
|
||||||
|
0000000816 00000 n
|
||||||
|
0000001087 00000 n
|
||||||
|
0000001373 00000 n
|
||||||
|
0000001499 00000 n
|
||||||
|
0000001546 00000 n
|
||||||
|
0000001692 00000 n
|
||||||
|
0000001766 00000 n
|
||||||
|
0000004453 00000 n
|
||||||
|
0000004526 00000 n
|
||||||
|
0000004654 00000 n
|
||||||
|
0000004702 00000 n
|
||||||
|
0000007389 00000 n
|
||||||
|
0000007462 00000 n
|
||||||
|
0000007590 00000 n
|
||||||
|
0000007638 00000 n
|
||||||
|
0000010325 00000 n
|
||||||
|
trailer <<
|
||||||
|
/Root 1 0 R
|
||||||
|
/Size 21
|
||||||
|
/ID [<31415926535897932384626433832795><31415926535897932384626433832795>]
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
10347
|
||||||
|
%%EOF
|
Loading…
Reference in New Issue
Block a user