mirror of
https://github.com/qpdf/qpdf.git
synced 2025-03-30 21:32:23 +00:00
Add QPDF::getVersionAsPDFVersion
This commit is contained in:
parent
8082af09be
commit
cfd5147d92
@ -3,6 +3,9 @@
|
|||||||
* Add new class PDFVersion for more convenient comparison of PDF
|
* Add new class PDFVersion for more convenient comparison of PDF
|
||||||
version numbers from the %!PDF header.
|
version numbers from the %!PDF header.
|
||||||
|
|
||||||
|
* Add QPDF::getVersionAsPDFVersion() to return the PDF version and
|
||||||
|
extension together as a PDFVersion object instead of a string.
|
||||||
|
|
||||||
2022-02-06 Jay Berkenbilt <ejb@ql.org>
|
2022-02-06 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
* Pl_Buffer and QPDFWriter: add getBufferSharedPointer(), which
|
* Pl_Buffer and QPDFWriter: add getBufferSharedPointer(), which
|
||||||
|
@ -65,9 +65,9 @@ class PDFVersion
|
|||||||
int getExtensionLevel() const;
|
int getExtensionLevel() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int major;
|
int major_version;
|
||||||
int minor;
|
int minor_version;
|
||||||
int extension;
|
int extension_level;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // PDFVERSION_HH
|
#endif // PDFVERSION_HH
|
||||||
|
@ -44,6 +44,7 @@
|
|||||||
#include <qpdf/QPDFStreamFilter.hh>
|
#include <qpdf/QPDFStreamFilter.hh>
|
||||||
#include <qpdf/Buffer.hh>
|
#include <qpdf/Buffer.hh>
|
||||||
#include <qpdf/InputSource.hh>
|
#include <qpdf/InputSource.hh>
|
||||||
|
#include <qpdf/PDFVersion.hh>
|
||||||
|
|
||||||
class QPDF_Stream;
|
class QPDF_Stream;
|
||||||
class BitStream;
|
class BitStream;
|
||||||
@ -260,6 +261,10 @@ class QPDF
|
|||||||
|
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
std::string getFilename() const;
|
std::string getFilename() const;
|
||||||
|
// Return PDF Version and extension level together as a PDFVersion object
|
||||||
|
QPDF_DLL
|
||||||
|
PDFVersion getVersionAsPDFVersion();
|
||||||
|
// Return just the PDF version from the file
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
std::string getPDFVersion() const;
|
std::string getPDFVersion() const;
|
||||||
QPDF_DLL
|
QPDF_DLL
|
||||||
|
@ -7,30 +7,30 @@ PDFVersion::PDFVersion() :
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
PDFVersion::PDFVersion(int major, int minor, int extension) :
|
PDFVersion::PDFVersion(int major_version, int minor_version, int extension_level) :
|
||||||
major(major),
|
major_version(major_version),
|
||||||
minor(minor),
|
minor_version(minor_version),
|
||||||
extension(extension)
|
extension_level(extension_level)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
PDFVersion::operator<(PDFVersion const& rhs) const
|
PDFVersion::operator<(PDFVersion const& rhs) const
|
||||||
{
|
{
|
||||||
return ((this->major < rhs.major) ? true :
|
return ((this->major_version < rhs.major_version) ? true :
|
||||||
(this->major > rhs.major) ? false :
|
(this->major_version > rhs.major_version) ? false :
|
||||||
(this->minor < rhs.minor) ? true :
|
(this->minor_version < rhs.minor_version) ? true :
|
||||||
(this->minor > rhs.minor) ? false :
|
(this->minor_version > rhs.minor_version) ? false :
|
||||||
(this->extension < rhs.minor) ? true :
|
(this->extension_level < rhs.extension_level) ? true :
|
||||||
false);
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
PDFVersion::operator==(PDFVersion const& rhs) const
|
PDFVersion::operator==(PDFVersion const& rhs) const
|
||||||
{
|
{
|
||||||
return ((this->major == rhs.major) &&
|
return ((this->major_version == rhs.major_version) &&
|
||||||
(this->minor == rhs.minor) &&
|
(this->minor_version == rhs.minor_version) &&
|
||||||
(this->extension == rhs.extension));
|
(this->extension_level == rhs.extension_level));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -45,25 +45,25 @@ PDFVersion::updateIfGreater(PDFVersion const& other)
|
|||||||
void
|
void
|
||||||
PDFVersion::getVersion(std::string& version, int& extension_level) const
|
PDFVersion::getVersion(std::string& version, int& extension_level) const
|
||||||
{
|
{
|
||||||
extension_level = this->extension;
|
extension_level = this->extension_level;
|
||||||
version = QUtil::int_to_string(this->major) + "." +
|
version = QUtil::int_to_string(this->major_version) + "." +
|
||||||
QUtil::int_to_string(this->minor);
|
QUtil::int_to_string(this->minor_version);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
PDFVersion::getMajor() const
|
PDFVersion::getMajor() const
|
||||||
{
|
{
|
||||||
return this->major;
|
return this->major_version;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
PDFVersion::getMinor() const
|
PDFVersion::getMinor() const
|
||||||
{
|
{
|
||||||
return this->minor;
|
return this->minor_version;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
PDFVersion::getExtensionLevel() const
|
PDFVersion::getExtensionLevel() const
|
||||||
{
|
{
|
||||||
return this->extension;
|
return this->extension_level;
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <memory.h>
|
#include <memory.h>
|
||||||
|
#include <regex>
|
||||||
|
|
||||||
#include <qpdf/QTC.hh>
|
#include <qpdf/QTC.hh>
|
||||||
#include <qpdf/QUtil.hh>
|
#include <qpdf/QUtil.hh>
|
||||||
@ -2742,6 +2743,24 @@ QPDF::getFilename() const
|
|||||||
return this->m->file->getName();
|
return this->m->file->getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PDFVersion
|
||||||
|
QPDF::getVersionAsPDFVersion()
|
||||||
|
{
|
||||||
|
int major = 1;
|
||||||
|
int minor = 3;
|
||||||
|
int extension_level = getExtensionLevel();
|
||||||
|
|
||||||
|
std::regex v("^[[:space:]]*([0-9]+)\\.([0-9]+)");
|
||||||
|
std::smatch m;
|
||||||
|
if (std::regex_search(this->m->pdf_version, m, v))
|
||||||
|
{
|
||||||
|
major = QUtil::string_to_int(m[1].str().c_str());
|
||||||
|
minor = QUtil::string_to_int(m[2].str().c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
return PDFVersion(major, minor, extension_level);
|
||||||
|
}
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
QPDF::getPDFVersion() const
|
QPDF::getPDFVersion() const
|
||||||
{
|
{
|
||||||
|
@ -34,6 +34,18 @@ int main()
|
|||||||
v2.getVersion(version, extension_level);
|
v2.getVersion(version, extension_level);
|
||||||
assert(version == "1.7");
|
assert(version == "1.7");
|
||||||
assert(extension_level == 8);
|
assert(extension_level == 8);
|
||||||
|
assert(PDFVersion(1, 2) < PDFVersion(1, 3));
|
||||||
|
assert(PDFVersion(1, 2) < PDFVersion(1, 2, 1));
|
||||||
|
assert(PDFVersion(1, 2, 1) < PDFVersion(1, 2, 2));
|
||||||
|
assert(! (PDFVersion(1, 2, 2) < PDFVersion(1, 2, 2)));
|
||||||
|
assert(! (PDFVersion(1, 2, 3) < PDFVersion(1, 2, 2)));
|
||||||
|
assert(PDFVersion(1, 1) < PDFVersion(1, 2, 2));
|
||||||
|
assert(! (PDFVersion(1, 3) < PDFVersion(1, 2, 2)));
|
||||||
|
assert(! (PDFVersion(2, 0) < PDFVersion(1, 9, 9)));
|
||||||
|
assert(! (PDFVersion(2, 0) < PDFVersion(2, 0)));
|
||||||
|
assert(PDFVersion(2, 0) == PDFVersion(2, 0));
|
||||||
|
assert(PDFVersion(2, 0, 1) == PDFVersion(2, 0, 1));
|
||||||
|
|
||||||
std::cout << "PDFVersion assertions passed" << std::endl;
|
std::cout << "PDFVersion assertions passed" << std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.3
|
version: 1.3
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.3/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.6
|
version: 1.6
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.6/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 1
|
extension level: 1
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> >>
|
||||||
|
As PDFVersion: 1.7/1
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 3
|
extension level: 3
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> >>
|
||||||
|
As PDFVersion: 1.7/3
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> >>
|
||||||
|
As PDFVersion: 1.8/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 5
|
extension level: 5
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> >>
|
||||||
|
As PDFVersion: 1.8/5
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 /URL (http://something.adobe.com) >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 3
|
extension level: 3
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> >>
|
||||||
|
As PDFVersion: 1.7/3
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> >>
|
||||||
|
As PDFVersion: 1.8/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 5
|
extension level: 5
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> >>
|
||||||
|
As PDFVersion: 1.8/5
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.3
|
version: 1.3
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.3/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.6
|
version: 1.6
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.6/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 1
|
extension level: 1
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/1
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 3
|
extension level: 3
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/3
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 5
|
extension level: 5
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/5
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 3
|
extension level: 3
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/3
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 5
|
extension level: 5
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/5
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.3
|
version: 1.3
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.3/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.6
|
version: 1.6
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.6/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 1
|
extension level: 1
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> >>
|
||||||
|
As PDFVersion: 1.7/1
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 3
|
extension level: 3
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> >>
|
||||||
|
As PDFVersion: 1.7/3
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> >>
|
||||||
|
As PDFVersion: 1.8/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 5
|
extension level: 5
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> >>
|
||||||
|
As PDFVersion: 1.8/5
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.3
|
version: 1.3
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.3/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.6
|
version: 1.6
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.6/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 1
|
extension level: 1
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> >>
|
||||||
|
As PDFVersion: 1.7/1
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 3
|
extension level: 3
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> >>
|
||||||
|
As PDFVersion: 1.7/3
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> >>
|
||||||
|
As PDFVersion: 1.8/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 5
|
extension level: 5
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> >>
|
||||||
|
As PDFVersion: 1.8/5
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
null
|
null
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.3
|
version: 1.3
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.3/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.6
|
version: 1.6
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.6/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 1
|
extension level: 1
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/1
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 3
|
extension level: 3
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/3
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 5
|
extension level: 5
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/5
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.5
|
version: 1.5
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.5/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.6
|
version: 1.6
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.6/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 1
|
extension level: 1
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 1 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/1
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.7
|
version: 1.7
|
||||||
extension level: 3
|
extension level: 3
|
||||||
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.7 /ExtensionLevel 3 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.7/3
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 2
|
extension level: 2
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 2 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/2
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 5
|
extension level: 5
|
||||||
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /ADBE << /BaseVersion /1.8 /ExtensionLevel 5 >> /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/5
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
version: 1.8
|
version: 1.8
|
||||||
extension level: 0
|
extension level: 0
|
||||||
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
<< /Potato << /BaseVersion /3.14159 /ExtensionLevel 16059 >> >>
|
||||||
|
As PDFVersion: 1.8/0
|
||||||
test 34 done
|
test 34 done
|
||||||
|
@ -1327,6 +1327,12 @@ static void test_34(QPDF& pdf, char const* arg2)
|
|||||||
std::cout << "version: " << pdf.getPDFVersion() << std::endl
|
std::cout << "version: " << pdf.getPDFVersion() << std::endl
|
||||||
<< "extension level: " << pdf.getExtensionLevel() << std::endl
|
<< "extension level: " << pdf.getExtensionLevel() << std::endl
|
||||||
<< pdf.getRoot().getKey("/Extensions").unparse() << std::endl;
|
<< pdf.getRoot().getKey("/Extensions").unparse() << std::endl;
|
||||||
|
auto v = pdf.getVersionAsPDFVersion();
|
||||||
|
std::string v_string;
|
||||||
|
int extension_level;
|
||||||
|
v.getVersion(v_string, extension_level);
|
||||||
|
std::cout << "As PDFVersion: " << v_string << "/" << extension_level
|
||||||
|
<< std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_35(QPDF& pdf, char const* arg2)
|
static void test_35(QPDF& pdf, char const* arg2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user