Jay Berkenbilt
5f59c32f87
Add a few minor enhancements to recent work
...
Test coverage case for new newStream method
Expose decimal_places argument for double-based newReal
All enhancements suggested by Tobias.
2012-06-27 10:43:27 -04:00
Tobias Hoffmann
f07e3370f0
Add Pl_Concatenate filter
2012-06-27 10:20:38 -04:00
Tobias Hoffmann
43c404b45a
Add QPDFObjectHandle::newStream(QPDF *, std::string const&)
...
This makes the code simpler than having to create a buffer of a fixed
size and copy the string to it.
2012-06-27 10:19:57 -04:00
Tobias Hoffmann
75054c0b94
Add QPDFObjectHandle::newReal(double)
2012-06-27 10:19:01 -04:00
Jay Berkenbilt
2266c6232b
Rework InputSource::readLine to make it much more efficient
...
This rework makes xref reconstruction run much faster and use much
less memory.
2012-06-27 06:48:06 -04:00
Jay Berkenbilt
736bafbb9c
Rename seek functions in QUtil
2012-06-26 23:10:10 -04:00
Jay Berkenbilt
0802ba275f
Visual C++ and mingw32 fixes for large files
2012-06-26 23:05:59 -04:00
Jay Berkenbilt
5e3167e856
Set version to 3.0.a0
2012-06-25 21:35:30 -04:00
Jay Berkenbilt
1a3e88ca09
Fix large file support for 32-bit Linux
2012-06-25 10:51:44 -04:00
Jay Berkenbilt
c16db4106c
Increase padding in linearized files
...
With QPDF allowing integers to contain 64-bit quantities, this change
is necessary to be able to linearize files whose sizes might be larger
than 10 digits.
2012-06-24 15:56:59 -04:00
Jay Berkenbilt
8318d81ada
Fix and test support for files >= 4 GB
2012-06-24 15:56:50 -04:00
Jay Berkenbilt
781c313058
Change QPDF_Integer from int to long long
...
This makes it possible to store offsets that are larger than 2 GB in
the trailer dictionary.
2012-06-24 15:20:01 -04:00
Jay Berkenbilt
4f305488d8
Improve the FILE* version of QPDF::processFile
2012-06-23 18:23:06 -04:00
Tobias Hoffmann
7f95ad5b92
Fixed missing throw
2012-06-23 18:17:01 -04:00
Jay Berkenbilt
bf059a6001
Replace the 8-bit characters with \x.. in QPDFWriter.cc
...
This just makes it safer to pull up this file in an editor.
2012-06-23 09:05:06 -04:00
Jay Berkenbilt
6c0af0844c
Switch some code to use empty newArray/newDictionary
2012-06-22 10:09:42 -04:00
Jay Berkenbilt
b6bdc0f595
Add factory methods for creating empty arrays and dictionaries.
...
Also updated pdf_from_scratch test driver to use the new factories,
and made some cosmetic improvements and documentation updates for the
emptyPDF() method.
2012-06-22 09:46:33 -04:00
Jay Berkenbilt
a0768e4190
Add QPDF::emptyPDF() and pdf_from_scratch test code
2012-06-21 23:09:05 -04:00
Jay Berkenbilt
81e8752362
Use qpdf_offset_t in place of off_t in public APIs.
...
off_t is used internally only when needed to talk to standard
libraries. This requires that the "long long" type be supported by
the compiler.
2012-06-21 21:23:24 -04:00
Jay Berkenbilt
d1ebe30ff6
Add QPDFObjectHandle::shallowCopy()
2012-06-21 16:15:09 -04:00
Jay Berkenbilt
9689f4cdcf
Use getRoot() instead of looking it up in the trailer
2012-06-21 16:15:09 -04:00
Jay Berkenbilt
11d33a45fa
Iterate of /Info's keys, not trailer's keys, to seed /ID
...
Thanks Tobias Hoffmann for noticing the error.
2012-06-21 15:52:53 -04:00
Jay Berkenbilt
3844aedd93
Add testing for page APIs
2012-06-21 15:01:02 -04:00
Jay Berkenbilt
eb802cfa8c
Implement page manipulation APIs
2012-06-21 15:01:02 -04:00
Jay Berkenbilt
e01ae1968b
Split page handling APIs into a separate source file
2012-06-21 15:01:02 -04:00
Jay Berkenbilt
df493c352f
Refactor optimizePagesTree
...
Split optimizePagesTree into a simpler top-level routine and a
recursive internal routine.
2012-06-21 15:01:02 -04:00
Tobias Hoffmann
5d3f93be29
Added first version of pages API.
2012-06-21 15:01:02 -04:00
Tobias Hoffmann
47a846a7e0
Added method to clear pages cache.
2012-06-21 15:01:02 -04:00
Jay Berkenbilt
3b413ca87c
Fix typo in comment
2012-06-21 15:00:58 -04:00
Jay Berkenbilt
f59ff6fcc2
fix include order for off_t
2012-06-21 14:11:22 -04:00
Jay Berkenbilt
fbe68d63f0
fix doc comment
2012-06-21 10:59:33 -04:00
Jay Berkenbilt
bc1c4bb578
Add QPDF::processFile that takes an open FILE*
2012-06-21 08:00:35 -04:00
Tobias Hoffmann
db7474e0fa
Added additional array mutators
...
Added methods to append to arrays, insert items into arrays, and
replace array contents with a vector of items.
2012-06-20 15:29:44 -04:00
Jay Berkenbilt
b2e6818935
Fix wording error in error message
2012-06-20 15:29:42 -04:00
Jay Berkenbilt
5d4cad9c02
ABI change: fix use of off_t, size_t, and integer types
...
Significantly improve the code's use of off_t for file offsets, size_t
for memory sizes, and integer types in cases where there has to be
compatibility with external interfaces. Rework sections of the code
that would have prevented qpdf from working on files larger than 2 (or
maybe 4) GB in size.
2012-06-20 15:20:26 -04:00
Jay Berkenbilt
24e2b2b76f
Fix gcc 4.7 warnings about C++11
2012-06-20 15:18:14 -04:00
Jay Berkenbilt
92c94e7df2
Add symbol versioning
...
For ELF systems, turn on versioned symbols by default, and add a
configure option to enable or disable them.
2012-06-20 15:18:12 -04:00
Jay Berkenbilt
01bcda8974
fix PCRE calls to remove use of deprecated API
...
pcre_info -> pcre_fullinfo. Closes issue 3489349. Thanks Tim Harder.
2012-04-06 21:47:46 -04:00
Jay Berkenbilt
8e9fe21316
Update for 2.3.1
2011-12-28 17:19:40 -05:00
Jay Berkenbilt
92f0207de8
fix MSVC 2010 issues
2011-12-28 16:40:33 -05:00
Jay Berkenbilt
11314a9551
Don't declare any PCRE objects static.
2011-12-28 14:32:33 -05:00
Jay Berkenbilt
1d1d21d3fe
ready for 2.3.0 release
2011-08-11 15:34:41 -04:00
Jay Berkenbilt
788f6f7769
fix small logic error surrounding adding newlines; in practice, the logic error would probably never manifest itself without other code changes
2011-08-11 15:22:59 -04:00
Jay Berkenbilt
0abdf5381c
fix memory error caught by valgrind
2011-08-11 14:11:27 -04:00
Jay Berkenbilt
76b1659177
enhance PointerHolder so that it can explicitly be told to use delete [] instead of delete, thus making it useful to run valgrind over qpdf during its test suite
2011-08-11 11:57:37 -04:00
Jay Berkenbilt
14fe2e6de3
qpdf_set_info_key, qpdf_get_info_key
2011-08-11 10:48:37 -04:00
Jay Berkenbilt
ce358f103e
remove stray XXX comment
2011-08-11 10:17:24 -04:00
Jay Berkenbilt
9a1fad4077
comments
2011-08-10 20:57:52 -04:00
Jay Berkenbilt
a42a4068b5
preserve /EncryptMetadata when copying encryption parameters
2011-08-10 19:47:18 -04:00
Jay Berkenbilt
da39d2b1b1
2.3.a1
2011-08-10 16:48:00 -04:00