mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 19:08:59 +00:00
update release notes and TODO for changes made so far
This commit is contained in:
parent
9a1fad4077
commit
cb0c8ca2fe
35
TODO
35
TODO
@ -1,30 +1,13 @@
|
||||
2.3
|
||||
===
|
||||
|
||||
* Add ability to delete, replace, and swap objects using indirect
|
||||
object references. This, along with the existing ability to
|
||||
install new indirect objects, significantly increases range of
|
||||
possible modifications.
|
||||
|
||||
* QPDFWriter: be able to save to a memory buffer
|
||||
|
||||
* Provide an API for returning the keys of a dictionary as a
|
||||
std::map. Do the corresponding thing for an array. Provide an
|
||||
example program that does dictionary and array copies perhaps as
|
||||
part of the replace, swap, delete example.
|
||||
* Provide an example of using replace and swap. Maybe.
|
||||
|
||||
* Figure out a way to update the C API with something that can
|
||||
update dictionary keys at least with strings. Make sure it is
|
||||
possible to implement something akin to pdf-mod-info in C.
|
||||
|
||||
* Fix bug: this->encrypt_metadata is not set when
|
||||
copyEncryptionParameters is used.
|
||||
|
||||
* If possible implement the other encrypted file types as reported in
|
||||
bug 3173659. See ../misc/encrypted-3173659/details.txt for a
|
||||
detailed description of the problems and an extraction of all the
|
||||
test files.
|
||||
|
||||
* Add C API for writing to memory if possible
|
||||
|
||||
General
|
||||
=======
|
||||
@ -139,12 +122,14 @@ Index: QPDFWriter.cc
|
||||
code to handle it properly. In QPDF_encryption.cc, search for
|
||||
cf_file. Remove exception thrown if cf_file is different from
|
||||
cf_stream, and write code in the stream decryption section to use
|
||||
cf_file instead of cf_stream. In general, add interfaces to
|
||||
get the list of embedded files and to extract them. To handle
|
||||
general embedded files associated with the whole document, follow
|
||||
root -> /Names -> /EmbeddedFiles -> /Names to get to the file
|
||||
specification dictionaries. Then, in each file specification
|
||||
dictionary, follow /EF -> /F to the actual stream.
|
||||
cf_file instead of cf_stream. In general, add interfaces to get
|
||||
the list of embedded files and to extract them. To handle general
|
||||
embedded files associated with the whole document, follow root ->
|
||||
/Names -> /EmbeddedFiles -> /Names to get to the file specification
|
||||
dictionaries. Then, in each file specification dictionary, follow
|
||||
/EF -> /F to the actual stream. There may be other places file
|
||||
specification dictionaries may appear, and there are also /RF keys
|
||||
with related files, so reread section 3.10 carefully.
|
||||
|
||||
* The description of Crypt filters is unclear with respect to how to
|
||||
use them to override /StmF for specific streams. I'm not sure
|
||||
|
@ -2073,6 +2073,60 @@ print "\n";
|
||||
For a detailed list of changes, please see the file
|
||||
<filename>ChangeLog</filename> in the source distribution.
|
||||
</para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>2.3.0: August 11, 2011</term>
|
||||
<listitem>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Bug fix: when preserving existing encryption on encrypted
|
||||
files with cleartext metadata, older qpdf versions would
|
||||
generate password-protected files with no valid password.
|
||||
This operation now works. This bug only affected files
|
||||
created by copying existing encryption parameters; explicit
|
||||
encryption with specification of cleartext metadata worked
|
||||
before and continues to work.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Enhance <classname>QPDFWriter</classname> with a new
|
||||
constructor that allows you to delay the specification of the
|
||||
output file. When using this constructor, you may now call
|
||||
<function>QPDFWriter::setOutputFilename</function> to specify
|
||||
the output file, or you may use
|
||||
<function>QPDFWriter::setOutputMemory</function> to cause
|
||||
<classname>QPDFWriter</classname> to write the resulting PDF
|
||||
file to a memory buffer. You may then use
|
||||
<function>QPDFWriter::getBuffer</function> to retrieve the
|
||||
memory buffer.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add new API call <function>QPDF::replaceObject</function> for
|
||||
replacing objects by object ID
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add new API call <function>QPDF::swapObjects</function> for
|
||||
swapping two objects by object ID
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add <function>QPDFObjectHandle::getDictAsMap</function> and
|
||||
<function>QPDFObjectHandle::getArrayAsVector</function> to
|
||||
allow retrieval of dictionary objects as maps and array
|
||||
objects as vectors.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>2.2.4: June 25, 2011</term>
|
||||
|
Loading…
Reference in New Issue
Block a user